汇编语⾔TEST指令:对两个操作数进⾏逻辑(按位)与操作TEST 指令在两个操作数的对应位之间进⾏ AND 操作,并根据运算结果设置符号标志位、零标志位和奇偶标志位。
TEST 指令与《AND指令》⼀节中介绍的 AND 指令唯⼀不同的地⽅是,TEST 指令不修改⽬标操作数。TEST 指令允许的操作数组合与AND 指令相同。在发现操作数中单个位是否置位时,TEST 指令⾮常有⽤。
⽰例:多位测试
TEST 指令同时能够检查⼏个位。假设想要知道 AL 寄存器的位 0 和位 3 是否置 1,可以使⽤如下指令:汇编指令有多少个
test al, 00001001b ;测试位 0 和位 3
(本例中的 0000 1001 称为位掩码。)从下⾯的数据集例⼦中,可以推断只有当所有测试位都清 0 时,零标志位才置 1:
0  0  1  0  0  1  0  1    <- 输⼊值
0  0  0  0  1  0  0  1    <- 测试值
0  0  0  0  0  0  0  1    <- 结果:ZF=0
0  0  1  0  0  1  0  0    <- 输⼊值
0  0  0  0  1  0  0  1    <- 测试值
0  0  0  0  0  0  0  0    <- 结果:ZF=1
标志位
TEST 指令总是清除溢出和进位标志位,其修改符号标志位、零标志位和奇偶标志位的⽅法与 AND 指令相同。
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19
6.20
6.21
6.22 .
6.23

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。