मैं assermbly जानने के लिए (ताकि मेरे साथ सहन) कोशिश कर रहा हूँ और मैं इस लाइन पर एक संकलन त्रुटि हो रही है:विधानसभा: दो स्मृति के बीच चलती के पते
mov byte [t_last], [t_cur]
त्रुटि
error: invalid combination of opcode and operands
है
मुझे लगता है कि इस त्रुटि के कारण एक mov अनुदेश दो स्मृति पतों के बीच ले जाने के लिए बस है कि इसके लिए संभव नहीं है, लेकिन googling के आधे घंटे और मैं इस बात की पुष्टि करने में सक्षम नहीं किया गया है - यह मामला है?
mov cl, [t_cur]
mov [t_last], cl
सिफारिश रजिस्टर का उपयोग करने के क्या (या मैं ढेर के बजाय का उपयोग करना चाहिए):
इसके अलावा, यह सोचते हैं मैं सही है कि मैं को कॉपी स्मृति के लिए एक मध्यवर्ती बिंदु के रूप में एक रजिस्टर उपयोग करने की आवश्यकता का मतलब कर रहा हूँ?
कभी कभी बेहतर है * * स्रोत के लिए जाने के बजाय googling उदाहरण के लिए यहाँ, इंटेल 64 और IA-32 निर्देश हूं, जहां 'mov' के लिए संकार्य संयोजनों को देख सकते है की जरूरत है , http://www.intel.com/Assets/PDF/manual/253666.pdf –
वहाँ नियम है कि एक अनुदेश दो स्मृति ऑपरेंड नहीं ले जा सकते करने वाले हैं अपवाद; देखना [यहां] (http://stackoverflow.com/questions/14510280/why-cant-mov-have-both-operands-as-memory-locations?lq=1#comment20229305_14510280)। – legends2k