(1).数据寄存器: 存放数据
EAX、EBX、ECX、EDX
(2).指针寄存器: 主要用途就是在存储器寻址时,提供偏移地址.
ESP、EBP、EDI、ESI
ESP(堆栈指针寄存):是以“后进先出”方式工作的一个存储区,它必须存在于堆栈段中.
EBP(基址指针寄存器):
ESI(源变址寄存器):
EDI(目的变址寄存器):
2.数据传输指令:
MOV-------传送字或字节
PUSH------把字压入堆栈
POP-------把字弹出堆栈
PUSHA-----把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.
POPA------把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.
PUSHAD----把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.
POPAD-----把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.
3.算术运算指令:
ADD-------加法.
SUB-------减法.
INC-------加 1
DEC-------减 1
MUL-------无符号乘法
DIV--------无符号除法
4.逻辑运算指令
AND------与运算
OR-------或运算
XOR------异或运算
NOT------取反
5.无条件转移指令
JMP--------无条件转移指令
CALL-------过程调用
RET/RETF----过程返回
6.条件转移指令
jE--------等于转移
jNE-------不等于时转移
JZ---------等于转移
JNZ--------不等于时转移
JB---------小于转移
JNB--------大于或等于转移
JA---------不小于或不等于时转移
JNA--------小于或等于转移
JG--------大于转移
JNG-------小于或等于转移
JC-------有进位时转移
JNC------无进位时转移
JP------奇偶性为偶数时转移
JNP-----奇偶性为奇数时转移
7.其它
nop-----在汇编中代表空指令,不执行任何代码.
Mov edi,edi-----效果与nop一样.
注:编写花指令,可参考以下成双指令,可任意自由组合.达到免杀效果.
push ebp |