求教关于指令编码的问题
在《汇编语言》第34页有这么一段:mov ax,0000(B8 00 00)
add ax,0123 (05 23 01)
mov bx,ax (8B D8)
jmp bx (FF E3)
其中,用16进制码表示的操作数部分都能看明白。但是,关于指令和寄存器的编码就看不太懂了。
比如mov,按照ASCII码表每个字母都应该用一个字节来表示,其中m=01101101,o和v省略,
那么,mov指令应该对应3个字节。这里,却用B8表示mov ax,怎么理解呢??
这是机器码, 不是ASCII码, 不用ASCII码转换 , 比如E9 表示jmp一样, 类似的之类还有例如
CC表示int 3
90 表示 nop
74 je/hz
....... 这个是规定 谢谢各位回答我的问题。
我大概明白了点,意思是说:指令的编译结果,是汇编语言编译器决定,是吗?和ASCII码的编码方式是两码
事情?
页:
[1]