汇编语言每个指令的字节数是多少?

你好,能不能帮我分析一下,一条汇编语言的指令的长度是:
例如:有一段程序:内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax,0
1000:3 e8 01 00 call s
1000:6 40 inc ax
1000:7 58 s:pop ax
我知道它的偏移地址=(ip)+16位位移
而16位位移=标号处的地址-call指令后的第一个字节的地址
就是不知道它一条指令是多少字节????谢谢谢啦啦啦
指令有长有短的话,那怎么去算机器指令的位移量,怎么去算它的8位或是16位位移量???谢谢你的回答
是不是看它的机器码,两位为一个字节????

有一段程序:内存地址 机器码 汇编指令
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位位移量?-- 一般不用人工计算,可由编译软件自动计算。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-11
不同的cpu的汇编指令系统不同,
对于8位机,每条指令的字节数大多数为 1-3 字节,有的也有4字节的(比如Z80的汇编中的 变址寻址指令)
对于16位机,每条指令通常为2-6字节,
第2个回答  2011-02-17
8086汇编指令长度有长有短
第3个回答  2011-02-18
32位
第4个回答  2011-02-18
确实是看机器码
相似回答