汇编指令test的用法
test指令和and指令执行同样的操作,但test指令不送回操作结果,而仅仅影响标志位。testal,01;如al的最低位为1,则zf=0,否则zf=1test指令
这类指令主要影响ZF标志位testax,100b将ax的值和100b进行“与”操作,但不改变ax本身若与操作的结果为零则ZF置位。
扩展资料:
汇编指令是汇编语言中使用的一些操作符和助记符,还包括一些伪指令(如assume,end)。用于告诉汇编程序如何进行汇编的指令,它既不控制机器的操作也不被汇编成机器代码,只能为汇编程序所识别并指导汇编如何进行。
通用数据传送指令
MOV传送字或字节。
MOVSX先符号扩展,再传送。
MOVZX 先零扩展,再传送。
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依次弹出堆栈。
BSWAP交换32位寄存器里字节的顺序。
XCHG交换字或字节.(至少有一个操作数为寄存器,段寄存器不可作为操作数)。
CMPXCHG比较并交换操作数.(第二个操作数必须为累加器AL/AX/EAX)。
XADD先交换再累加.(结果在第一个操作数里)。
XLAT字节查表转换。
参考资料来源: