असेंबलर में अभिव्यक्ति की गणना करें


मुझे दिए गए एक्सप्रेशन को कैक्लुएट करना है
एफ= (ए+बी)^2*सीए
0,1,2,3 एड्रेस मशीन पर।
मुझे 0 एड्रेस मशीन के लिए मदद चाहिए, और क्या अन्य मशीनों के लिए कोड सही है?

मैंने क्या प्रयास किया है:

0 address machine
     Need help ??????

   1 address machine
       LOAD A
       ADD B
       STORE TEMP
       MUL TEMP
       MUL C
       SUB A
       STORE F

   2 address machine
       MOVE F, A
       ADD F, B
       MUL F, F
       MUL F, C
       SUB F, A

     3 address machine
       ADD F, A, B
       MUL F, F, F
       MUL F, F, C
       SUB F, F, A

समाधान 1

हालाँकि हम फंसे हुए लोगों की मदद करने के लिए तत्पर हैं, लेकिन इसका मतलब यह नहीं है कि हम आपके लिए यह सब करने के लिए यहाँ हैं! हम सारा काम नहीं कर सकते, या तो आपको इसके लिए भुगतान मिल रहा है, या यह आपके ग्रेड का हिस्सा है और हमारे लिए यह सब करना बिल्कुल भी उचित नहीं होगा।

इसलिए हमें काम करने के लिए आपकी ज़रूरत है, और जब आप फंस जाएंगे तो हम आपकी मदद करेंगे। इसका मतलब यह नहीं है कि हम आपको चरण-दर-चरण समाधान देंगे जो आप अपने हाथ में ले सकते हैं!
यह बताकर शुरुआत करें कि आप इस समय कहां हैं और इस प्रक्रिया में अगला कदम क्या है। फिर हमें बताएं कि आपने उस अगले चरण को कार्यान्वित करने के लिए क्या प्रयास किया है, और जब आपने किया तो क्या हुआ।

फिलहाल, हमें आपकी विभिन्न “मशीनों” के बारे में धारणाएं बनानी होंगी जो सही हो भी सकती हैं और नहीं भी – मैं कई अलग-अलग वास्तविक दुनिया के असेंबलरों को समझता हूं जो विशिष्ट प्रोसेसर (या प्रोसेसर परिवारों) पर लक्षित हैं और वे सभी अलग-अलग तरीकों से काम करते हैं: जो कोड एक के लिए काम करता है वह दूसरे के लिए बुरी तरह विफल हो जाएगा। आपको अपने प्रत्येक “मशीन प्रकार” के लिए कार्यशील कोड प्राप्त करने के लिए यह पढ़ना होगा कि आपके शिक्षक ने आपको “मशीन कोड परिभाषा” के रूप में क्या दिया है। हालाँकि ऐसा लगता है कि आपके तीन कोड को काम करना चाहिए, इसमें कुछ बहुत बड़ी धारणाएँ शामिल हैं जो किसी भी तरह से आपकी वर्चुअल मशीनों के लिए मान्य नहीं हो सकती हैं।
उदाहरण के लिए, वास्तविक विश्व प्रोसेसर परिवारों में से कम से कम दो जिनके लिए मैं कोड कर सकता हूं, उनके पास बिल्कुल भी मल्टीपल इंस्ट्रक्शन नहीं है, और उनमें से एक में हर एक इंस्ट्रक्शन के लिए सशर्त निष्पादन है! इनके लिए असेंबली कोड आपके उदाहरणों से बिल्कुल अलग होगा!

यदि आपको आरंभ करने में कोई समस्या हो रही है, तो इससे मदद मिल सकती है: किसी समस्या को हल करने के लिए कोड कैसे लिखें, एक शुरुआती मार्गदर्शिका[^]

コメント

タイトルとURLをコピーしました