操作码的十六进制值

时间:2014-04-05 20:42:58

标签: assembly x86 hex dos

我创建了一个非常简单的汇编程序,在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

2 个答案:

答案 0 :(得分:3)

这里有一个很好的参考:http://ref.x86asm.net/coder32.html

如你所见:

  • CDint
  • 的操作码
  • B0+regmov reg, imm8的操作码,其中reg是目标寄存器,您可以从this tableah = 100b和{{1}看到}

答案 1 :(得分:1)

是汇编x86指令:

  • B4:mov啊意思是在寄存器中移动啊
  • B2:mov dx表示在寄存器dx中移动
  • CD:int表示软件中断

我建议您阅读本指南程序集x86 http://www.cs.virginia.edu/~evans/cs216/guides/x86.html