一、ADC指令:带进位加法
格式:ADC R/M,R/M/IMM 两边不能同时为内存 宽度要一样
就是在做加法的同时带上CF位
二、SBB指令:带借位减法
格式:SBB R/M,R/M/IMM 两边不能同时为内存 宽度要一样
两个操作数的相减再减去CF进位标志位
三、XCHG指令:交换数据
格式:XCHG R/M,R/M 两边不能同时为内存 宽度要一样
就是交换数据
四、MOVS指令:移动数据 内存-内存 (通常用来复制字符串) (EDI前面要用ES:)
BYTE/WORD/DWORD
MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] 简称:MOVSB
MOVS WORD PTR ES:[EDI],WORD PTR DS:[ESI] 简称:MOVSW
MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI] 简称:MOVSD
ESI和EDI也会根据数据宽度和D位进行加减
五、STOS指令:将AL/AX/EAX的值存储到[EDI]制定的内存单元
STOS BYTE PTR ES:[EDI] 简写为STOSB
STOS WORD PTR ES:[EDI] 简写为STOSW
STOS DWORD PTR ES:[EDI] 简写为STOSD
存完后EDI的增长方向由D位决定
六、REP指令:按EAX(计数寄存器)中指定的次数重复执行字符串指令
eg.
MOV ECX,10
REP MOVSD
REP STOSD