मैं एक नौसिखिया प्रोग्रामर हूं जो पहली बार असेंबली का प्रयास कर रहा है। अग्रिम में क्षमा करें अगर यह एक अविश्वसनीय रूप से लंगड़ा सवाल है।x86 असेंबली में ऑपरेंड आकार का संघर्ष?
मेरे पास ईएक्स रजिस्टर में संग्रहीत एक चरित्र है, लेकिन मुझे इसे अपने डीएल रजिस्टर में स्थानांतरित करने की आवश्यकता है। जब मैं कोशिश करता हूं: mov dl, eax मुझे एक त्रुटि मिलती है C2443: ऑपरेंड आकार का संघर्ष। मुझे पता है कि ईएक्स रजिस्टर 32 बिट है जबकि डीएल 8 बिट है ... क्या मैं कुछ पर हूं ?? मैं इसे हल करने के बारे में कैसे जा सकता हूं।
यह सही है। ईएक्स रजिस्टर 32 बिट चौड़ा है, जबकि डीएल केवल 8 बिट्स है। आपको एएल को डीएल में स्थानांतरित करने की आवश्यकता है, एएल ईएक्स का सबसेट है। – MPelletier
और xoring edx सिर्फ एक अच्छा अच्छा विचार है :) अच्छा और साफ। – MPelletier
मुझे पहले निर्देश को समझ में नहीं आता है। % Edx में बिट्स के edx, edx 'शून्य * * बिट * नहीं होगा? –