有一段程序:内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0--B8H 00H 00H 共三字节
1000:3 e8 01 00 call s---也是三字节
1000:6 40 inc ax---仅有40H一个字节
1000:7 58 s:pop ax--也是一字节
-------------------------------
是不是看它的机器码,两位为一个字节?--是的。
怎么去算它的8位或是16位位移量?-- 一般不用人工计算,可由编译软件自动计算。
不同的cpu的汇编指令系统不同,
对于8位机,每条指令的字节数大多数为 1-3 字节,有的也有4字节的(比如Z80的汇编中的 变址寻址指令)
对于16位机,每条指令通常为2-6字节,
8086汇编指令长度有长有短
32位
确实是看机器码