一、一般指令
MOV(内存存内容)、ADD(加运算)、SUB(减运算)、and(与运算)、OR(或运算)、XOR(异或运算)、NOT(非运算)
NOT运算要说明一下,后面只能跟内存或寄存器,不能跟立即数。
以上指令有一个要注意的点,就是不能内存到内存的运算。
二、特殊的指令
1.MOVS指令:移动数据 内存-内存
使用MOVS一般情况下就结合ESI和EDI一起使用,EDI、ESI可以有特别的用途,一般EDI、ESI内部存的是内存地址。主要用于内存中的值的复制。
标志寄存器:EFL 00000246 每一个二进制位代表含义不同
例如:00000246 即 0000 0000 0000 0000 0000 0010 0100 0110 其中从右往左第十位为0,代表者EDI和ESI每复制完数值内存要正向进位,为1代表内存地址要逆向进位。
也就是这个D。
2.STOS指令
就是讲Al/AX/EAX的值存储到EDI指定内存中,复制过去后,内存地址也会跟着前进。
3.REP指令
根据计数寄存器(ECX)中指定的次数重复执行字符串指令(次数为16进制)
例如:MOV ECX, 10 REP MOVSD 就是执行MOVSD16次。