त्रुटि NASM देता है (मेरे कामकाजी ओएस के बावजूद) "अमान्य प्रभावी पता" है।80x86 16-बिट एएसएम: ली सीएक्स, [सीएक्स * 8 + सीएक्स] NASM (compiling .com फ़ाइल) पर त्रुटि का कारण बनता है
अब मैंने एलआईए का उपयोग करने के कई उदाहरण देखे हैं और मुझे लगता है कि मुझे यह सही मिला है लेकिन फिर भी मेरा NASM इसे नापसंद करता है। मैंने lea cx, [cx+9]
की कोशिश की और यह काम किया; lea cx, [bx+cx]
नहीं था।
अब अगर मैं अपने रजिस्ट्रार को 32-बिट्स (यानी lea ecx, [ecx*8+ecx]
) तक बढ़ाता हूं तो सबकुछ ठीक होगा लेकिन मैं केवल 16- और 8-बिट रजिस्टरों का उपयोग करने के लिए प्रतिबंधित हूं।
क्या यहां कोई भी इतना समझदार है जो मुझे समझा सकता है क्यों मेरा असेंबलर मुझे उस तरह से उपयोग करने की अनुमति नहीं देता जिस तरह से मुझे इसका इस्तेमाल किया जाना चाहिए?
मुझे लगता है कि आप गलत कर रहे हैं जब आप कहते हैं कि ली cx, [cx + 9] में काम किया। –