我创建了一个非常简单的汇编程序,可以在 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
The 02
, 61
and 21
我明白发生了什么,但是B4
, B2
and CD
?
这是一个很好的参考:http://ref.x86asm.net/coder32.html http://ref.x86asm.net/coder32.html
如你看到的:
-
CD
是操作码int
-
B0+reg
是操作码mov reg, imm8
, where reg
是目标寄存器,正如您可以看到的这张桌子 http://ref.x86asm.net/coder32.html#modrm_byte_16, ah = 100b
and dx = 010b
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)