-
-
[求助]汇编指令格式
-
发表于:
2015-8-10 01:06
12635
-
一条指令的内容为:前缀 + 操作码 + ModR/M + SIB + 偏移 + 立即数 组成。
除了操作码以外,其他的我都理解了。
操作码的每一个位分别代表什么含义?
从以INC指令和PUSH指令可以看出,后面三个位代表寄存器,前面5个位代表(INC或者PUSH)
只需要一个字节就可以完整的表示一条指令
INC EAX (0100 0000)
PUSH EAX (0101 0000)
但是像MOV和ADD指令,则需要两个字节(或两个字节以上)才能完整的表示一条指令。
ADD ECX, EAX (0000 0001 1100 0001)
MOV EAX, ECX (1000 1011 1100 0001)
在常见的汇编指令中,操作码一般都是一个字节,在这个字节(8个位)中,有没有什么规律可以看出,一条指令需要几个参数,从而确定这条指令的长度(需要占用几个字节)。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课