簡體   English   中英

操作碼的十六進制值

[英]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

026121我明白了什么轉身,但和B4B2CD

這是一個很好的參考: http//ref.x86asm.net/coder32.html

如你看到的:

  • CDint的操作碼
  • B0+regmov reg, imm8的操作碼,其中reg是目標寄存器,從這個表中可以看出, ah = 100bdx = 010b

是匯編x86指令:

  • B4:mov啊意思是在寄存器中移動啊
  • B2:mov dx表示在寄存器dx中移動
  • CD:int表示軟件中斷

我建議你閱讀本指南程序集x86 http://www.cs.virginia.edu/~evans/cs216/guides/x86.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM