6
A
回答
9
從http://www.cs.virginia.edu/~evans/cs216/guides/x86.html
pop - Pop stack
pop指令將刪除從硬件支持堆棧的頂部到指定操作數的4字節數據元素(即,寄存器或內存位置)。它首先移動位於存儲器位置[SP]到指定的寄存器或存儲器位置的4個字節,然後通過4.
語法
遞增SP
彈出<reg32>
彈出<MEM>示例
pop edi - 將堆棧的頂層元素彈出到EDI中。
pop [ebx] - 從位置EBX開始的四個字節處將堆棧的頂層元素彈出到內存中。
另一個很好的參考是http://en.wikibooks.org/wiki/X86_Assembly它可在PDF form。
6
此參數設置目的地。
3
爲了擴展Andrey的回答,除了在彈出的元素上遞增堆棧指針外,彈出的元素還被複制到目標地址或寄存器。你給的指令或多或少相當於兩個指令(Intel語法)
add esp,4
mov [ss:esp-4],ebp
我認爲這是在ATT(氣)語法
add $4, %esp
mov %ss-4(%esp), %ebp
相關問題
- 1. 爲什麼Comparator.compare需要兩個參數?
- 2. 我的pop功能需要什麼參數?
- 3. 爲什麼'自我'需要成爲一個函數參數?
- 4. 爲什麼`fgets()`需要一個* str,但是`getline()`需要一個** str參數?
- 5. 爲什麼我們需要一個數據庫驅動程序?
- 6. 這是爲什麼這個程序集需要
- 7. 爲什麼xml_http_request需要一個操作作爲其參數?
- 8. 爲什麼在此存儲過程中需要輸出參數?
- 9. 爲什麼這個查詢需要一個參數?
- 10. 爲什麼uploadTaskWithRequest:fromData:需要數據參數?
- 11. 爲什麼我的IBAction函數需要一個參數?
- 12. datetime.date:TypeError:需要一個整數。爲什麼?
- 13. 爲了在Windows 7上編寫程序集,我需要什麼?
- 14. 爲什麼在DBUtils.ExecuteMap中需要第三個參數?
- 15. 爲什麼在Scala中currying需要多個參數列表?
- 16. 爲什麼sendto函數需要第三個參數,在socket編程中
- 17. 爲什麼UdpClient.Receive需要ref參數?
- 18. 爲什麼需要查看參數
- 19. 爲什麼Python需要「self」參數?
- 20. 爲什麼ServiceStack的AppHostBase.Configure需要一個Container參數?
- 21. 爲什麼Convert.ChangeType需要一個對象參數?
- 22. 爲什麼繪製XNA()需要一個色彩參數
- 23. 爲什麼git push有時需要一個localref參數?
- 24. 爲什麼np.ndarray .__ deepcopy__需要一個多餘的參數?
- 25. 爲什麼HashMap#containsKey需要一個Object類型的參數?
- 26. C# - 爲什麼我需要初始化一個[out]參數
- 27. 爲什麼實體有時需要一個「url」參數,有時不需要?
- 28. CMBufferQueueCreate需要什麼參數?
- 29. 爲什麼calloc需要兩個參數,而malloc只有一個參數?
- 30. 爲什麼這裏需要引用一個未使用的程序集