2012-07-26 13 views
5

मैंने अभी एंबलर भाषा सीखना शुरू कर दिया। मैं ईQU की अवधारणा के साथ आया था। सबसे पहले, यह डीसी.बी. तक पहुंचने तक सही समझ में आया है। DC.B और EQU के बीच क्या अंतर है? क्या आप हर स्थिरता के लिए केवल ईक्व्यू का उपयोग नहीं कर सकते? सहायता के लिए धनयवाद।ईसीयू बनाम डीसी.बी. अंतर क्या है?

+0

आप किस ऑपरेटिंग सिस्टम के साथ काम कर रहे हैं? किस प्रोसेसर के लिए? –

+0

एचसी 12? ईयूसी सिर्फ स्थिर प्रतीक को परिभाषित करता है, डीसी एक चर के लिए स्थान आरक्षित करता है (बीबी इसे एक बाइट बनाता है)। – harold

उत्तर

12

मैं आपके विशिष्ट असेंबलर सिंटैक्स से परिचित नहीं हूं, इसलिए यह उत्तर एक शिक्षित अनुमान है।

EQU निर्देश कोडांतरक है कि आप एक नामित प्रतीकात्मक निरंतर (अक्सर अन्य EQU परिभाषाओं सहित अन्य कोडांतरक मूल्यों से गणना की) है कि आप विधानसभा स्रोत पाठ में अन्य स्थानों में उल्लेख कर सकते हैं करना चाहते हैं बताने के लिए प्रयोग किया जाता है। तुम हमेशा लिखना चाहिए

symbolname EQU constantexpression 

यह आपको symbolname बजाय अपने स्रोत पाठ में अन्य स्थानों में constantexpression लिखने के लिए अनुमति देता है। लेकिन इस नाम से अंतिम रूप से अंतिम कार्यक्रम बाइनरी डेटा पर कोई प्रत्यक्ष प्रभाव नहीं पड़ता है।

"डीबी.बी" (मुझे लगता है कि 'निरंतर परिभाषित (बाइट)' का उपयोग असेंबलर को बताने के लिए किया जाता है कि आप अंतिम असेंबली प्रोग्राम के साथ स्रोत फ़ाइल में सापेक्ष स्थिति में एम्बेडेड डेटा का एक बाइट रखने के लिए " । आप लिखना

optionalname DB.B constantexpression 

इकट्ठे कार्यक्रम बाइनरी डेटा में एक डेटा बाइट में रखा निरंतर अभिव्यक्ति की परिकलित मान है।

तो, आप लिख सकते हैं

AnEvenNumber EQU 2 
MyEvenNumber DB.B AnEvenNumber 

पहली पंक्ति सिर्फ एक नामित निरंतर उत्पन्न करती है, और दूसरी के बिना, आपके बाइनरी पर कोई प्रभाव नहीं पड़ता है। दूसरी पंक्ति आपके बाइनरी में एक बाइट उत्पन्न करती है, जिसमें नामित प्रतीक निरंतर द्वारा निर्दिष्ट मूल्य शामिल होता है।

ध्यान दें कि डीबी.बी निर्देश भी एक वैकल्पिक नाम की अनुमति देता है; इस प्रतीक का उपयोग आपके कोड के अन्य स्थानों में भी किया जा सकता है। अपने कोडांतरक की मिलावट पर निर्भर करता है, अब आप अपने बाइनरी फ़ाइल में एक शब्द का निर्माण

LocationOfEvenNumber EQU MyEvenNumber 

और

 DW.W LocationOfEvenNumber 

परिभाषित करने में सक्षम हो सकता है कि बाइनरी डेटा के अपने बाइट के लिए "अंक"।

+0

एक बहुत अच्छा शिक्षित अनुमान है, वास्तव में मैं कहता हूं कि यह कहता है: यह +1 – Durandal

+0

है, मैं कोडरवायर का उपयोग कर एचसीएस 12 माइक्रोकंट्रोलर के साथ काम कर रहा हूं। विवरण के लिए आपका धन्यवाद। यह बहुत उपयोगी था – eemamedo

संबंधित मुद्दे