汇编语句由操作码加操作数(数据或者地址)组成,操作码(operation
code,简写为 opcode,也被称为机器码),是指这条指令命令的编码。
比如有一条汇编指令:jmp
0x004fe351
那么它在内存中占5个字节,形式如下:
ea 51 e3 4f 00
其中ea是jmp命令的操作码,51
e3 4f 00是待跳转地址的低位优先存放格式。每个处理器平台使用的汇编操作码与汇编指令都有对照表。一些常见的汇编指令对应的操作码如下:
short jump:eb
near jump:e9
far jump:ea
je/jz:74
jne/jnz:75
nop:90
int 3:cc
ret:c3
call eax:d0ff
jmp esp:e4ff
记住一些常见的操作码,对于我们分析,逆向和调试程序非常有好处。当然,任何汇编指令的机器码,都可以通过查相应的汇编手册查出。