我创建了一个非常简单的汇编程序,它在 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
是目标寄存器,正如您从 this table 中看到的那样, ah = 100b
和 dx = 010b
关于assembly - 操作码的十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22886534/