汇编语言Test指令

您所在的位置:网站首页 汇编语言cwd指令的用法 汇编语言Test指令

汇编语言Test指令

2024-07-11 12:59| 来源: 网络整理| 查看: 265

目录 功能简介作用详细说明应用举例

文章来源说明:https://baike.baidu.com/item/test/10804276?fr=aladdin

功能简介

Test命令将两个操作数进行逻辑与运算,并根据运算结果设置相关的标志位。但是,Test命令的两个操作数不会被改变。运算结果在设置过相关标记位后会被丢弃。

TEST AX,BX 与AND AX,BX命令有相同效果,只是Test指令不改变AX和BX的内容,而AND指令会把结果保存到AX中。

作用详细说明

将两个操作数进行按位AND,设结果是TEMP

SF = 将结果的最高位赋给SF标志位,例如结果最高位是1,SF就是1看TEMP是不是0,如果TEMP是0,ZF位置1;如果TEMP不是0,ZF位置0PF = 将TEMP的低8位,从第0位开始,逐位取同或。也就是第0位与第1位的同或结果,去和第2位同或,结果再去和第3位同或…直到和第7位同或。PF位是奇偶校验位,如果结果低8位中1的个数是偶数,PF=1;否则PF=0CF位置0OF位置0 应用举例

1.Test用来测试一个位,例如寄存器:

test eax,100b;b后缀意为二进制 jnz ******;如果eax右数第三个位为1,jnz将会跳转

jnz跳转的条件是ZF=0, ZF=0意味着ZF(零标志)没被置位,即逻辑与结果为1。

2.Test的一个非常普遍的用法是用来测试一方寄存器是否为空:

test ecx, ecx jz somewhere

如果ecx为零,设置ZF零标志为1,jz跳转。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3