close

標題:

有關disammbly(電腦程序)的各種問題

發問:

為什麼程序開始總是push ebp的?我用od 載入簡單c++ helloworld 程序 :00401030 |> \55 PUSH EBP ; C0003.main(void)00401031 |. 8BEC MOV EBP,ESP00401033 |. 83EC 40 SUB ESP,4000401036 |. 53 PUSH EBX00401037 |. 56 PUSH ESI00401038 |. 57 PUSH EDI00401039 |. 8D7D C0 LEA EDI,[LOCAL.16]0040103C... 顯示更多 為什麼程序開始總是push ebp的? 我用od 載入簡單c++ helloworld 程序 : 00401030 |> \55 PUSH EBP ; C0003.main(void) 00401031 |. 8BEC MOV EBP,ESP 00401033 |. 83EC 40 SUB ESP,40 00401036 |. 53 PUSH EBX 00401037 |. 56 PUSH ESI 00401038 |. 57 PUSH EDI 00401039 |. 8D7D C0 LEA EDI,[LOCAL.16] 0040103C |. B9 10000000 MOV ECX,10 00401041 |. B8 CCCCCCCC MOV EAX,CCCCCCCC 00401046 |. F3:AB REP STOS DWORD PTR ES:[EDI] 00401048 |. 68 20104300 PUSH OFFSET 00431020 ; ASCII "Helloworld!" 0040104D |. 68 1C104300 PUSH OFFSET 0043101C ; ASCII "%s " 00401052 |. E8 F9700000 CALL printf ; [printf 裡面mov, push, pop, sub, cmp是什麼意思? 有什麼書籍和website關於這方面的可推薦?

最佳解答:

mov:這是組語裡面最常見的指令,將數值記入暫存器或是將A暫存器的內涵值移入B暫存器等等. 範例語法: mov 目的,來源
其他解答:

免費註冊體驗

 

此文章來自奇摩知識+如有不便請留言告知

arrow
arrow
    創作者介紹
    創作者 oob73zj92b 的頭像
    oob73zj92b

    oob73zj92b的部落格

    oob73zj92b 發表在 痞客邦 留言(0) 人氣()