收集彙編指令和機器碼的對應關係(完善中)

2022-01-15 04:23:30 字數 1146 閱讀 2736

50    push    eax

51    push    ecx

52    push    edx

53    push    ebx

54    push    esp

55    push    ebp

56    push    esi

57    push    edi

58    pop       eax

59    pop       ecx

5a    pop       edx

5b    pop       ebx

5c    pop       esp

5d    pop       ebp

5e    pop       esi

5f    pop       edi

60    pushad

61    popad

9c    pushfd

9d    popfd

c3    retn

cd   int       ex:    cd  03---->int   3

長跳**

00400ff2   /e9 09400000        jmp 00405000

從400ff2跳轉到405000,但是機器碼是e9   09400000(4009)e9是操作碼,運算元是4009,其實這樣乙個對應關係:4009+eip(400ff2)+5=405000,數字5代表這個跳轉操作佔據5個位元組;

短跳**

004010fa   /eb 12           jmp short 0040110e

從4010fa跳轉到40110e,同樣,操作碼是eb,運算元12,對應關係:12+eip(4010fa)+2=40110e ,數字2代表跳轉操作佔據2個位元組。

長呼叫:

00400ff2    e8 09400000        call 00405000

操作碼是e8,對應關係:4009+eip(400ff2)+5=405000,5是呼叫占用5個位元組。

短呼叫:

00401000    e8 03000000        call 00401008

操作碼是e8,操作婁是00000003,對應關係:3+eip(401000)+5=401008,5是占用5個位元組。

彙編中call指令和其對應的機器碼

call這個指令很神奇,他和別的指令不太一樣 對比下,當我們執行 mov eax,1 的時候,他的對應機器碼是 66 b8 01 00 00 00 這其中 66 b8 對應的是 mov eax,x 後面的 01 00 00 00 就是 1 在32位中的little endian了 所以說,在對mov...

jmp指令對應的機器碼

od隨便開啟乙個記事本,彙編幾條jmp指令,可以看到如下 位址 hex 反彙編 010073b4 e9 7b9e8787 jmp 88881234 010073b9 e9 769e8787 jmp 88881234 010073be e9 719e8787 jmp 88881234 010073c3...

機器碼轉彙編指令

在用logisim初步畫完cpu電路後,配合educoder除錯電路。提交 到educoder後,後台會檢測錯誤資訊,根據報錯資訊中的週期數或者pc值,可以找到錯誤的指令機器碼。但是機器碼太抽象,因此使用下面的程式將指令機器碼翻譯成指令名稱,進而繼續除錯電路。32位mips指令翻譯器 輸入一條16進...