[英]hexadecimal value of opcodes
我創建了一個非常簡單的匯編程序,在DOS中打印字母'a'。 我在十六進制編輯器中打開它,結果如下:
匯編代碼:
mov ah, 2
mov dx, 'a'
int 21h
十六進制代碼
B4 02 B2 61 CD 21
我想了解它是如何生成的! 就像,我不知道我是對的,但我意識到:
B4 = mov ah
02 = 2
B2 = mov dx
61 = 'a'
CD = int
21h = 21
在02
, 61
和21
我明白了什么轉身,但和B4
, B2
和CD
?
這是一個很好的參考: http : //ref.x86asm.net/coder32.html
如你看到的:
CD
是int
的操作碼 B0+reg
是mov reg, imm8
的操作碼,其中reg
是目標寄存器,從這個表中可以看出, ah = 100b
, dx = 010b
是匯編x86指令:
我建議你閱讀本指南程序集x86 http://www.cs.virginia.edu/~evans/cs216/guides/x86.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.