-
-
[求助]汇编指令格式
-
发表于:
2015-8-10 01:06
12626
-
一条指令的内容为:前缀 + 操作码 + 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个位)中,有没有什么规律可以看出,一条指令需要几个参数,从而确定这条指令的长度(需要占用几个字节)。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)