इस 64 एनएएसएम-वाक्य रचना विधानसभा पर विचार करें:यह मशीन कोड "inc qword [rsp]" के लिए क्यों उत्पन्न होता है?
inc qword [rax]
inc qword [rcx]
inc qword [rdx]
inc qword [rbx]
inc qword [rsp]
inc qword [rbp]
inc qword [rsi]
inc qword [rdi]
एनएएसएम साथ कोडांतरण (और GNU ld के साथ जोड़ने) के बाद, objdump -d
निम्नलिखित रिपोर्ट:
4000b0: 48 ff 00 incq (%rax)
4000b3: 48 ff 01 incq (%rcx)
4000b6: 48 ff 02 incq (%rdx)
4000b9: 48 ff 03 incq (%rbx)
4000bc: 48 ff 04 24 incq (%rsp)
4000c0: 48 ff 45 00 incq 0x0(%rbp)
4000c4: 48 ff 06 incq (%rsi)
4000c7: 48 ff 07 incq (%rdi)
कोड inc qword [rbp]
के लिए उत्पन्न के बाद से समझ में आता है मॉड फ़ील्ड सेट है। हालांकि, मैं यह नहीं समझ सकता कि 24
inc qword [rsp]
को इकट्ठा करते समय कहां से आता है। मैं coder64 #xFF देख रहा हूं और मुझे कुछ भी नहीं बताता है कि 24 उत्पन्न किए जाने चाहिए। मैं स्पष्ट रूप से एक उच्च स्तर पर कुछ याद कर रहा हूँ।
बिल्कुल सही, धन्यवाद! – jli