玉林专业网站建设,站长工具seo综合查询,福建省网站建设公司,网站推广外链测试指令TESTTEST OPRD1,OPRD2 ;按位与操作,但不保存结果,仅影响标志寄存器,根据影响的标志位得到结果 该指令通常用于检测某些位是否为1,但不改变原操作值.根据ZF得知判断结果 mov al,01100011B;检测位6是否为1,如果为1那么ZF0,如果为0那么ZF1 TEST AL,01000000B ;AL010000…测试指令TESTTEST OPRD1,OPRD2 ;按位与操作,但不保存结果,仅影响标志寄存器,根据影响的标志位得到结果 该指令通常用于检测某些位是否为1,但不改变原操作值.根据ZF得知判断结果 mov al,01100011B;检测位6是否为1,如果为1那么ZF0,如果为0那么ZF1 TEST AL,01000000B ;AL01000000B 第六位为1 ,运算结果中有1存在所有ZF0 ;反之如果ZF0,那么测试所得结果有1,即第六位为1 ;ZF1 ,结果全部为0,那么测试的位6不为1MOV AL,01100011B ;在程序中我们是不知道AL的具体值的,我们想知道第七位是不是1 TEST AL,10000000B ;测试第7位是否为1 根据ZF得知测试结果 ;TEST执行,不保存结果(TEST执行后AL0H,结果全部为0) ;ZF0 , 第七位不为1(test”与”运算之后结果是否为0? 如果是那么ZF1,不为0那么就否ZF0 ) MOV AX,-1 TEST AX,AX;测试ax是否为0,ZF记录结果 JNE NEXT;jne根据ZF决定是否转移 TEST OPRD1,OPRD2 (AND OPRD1,OPRD2)TEST不保留结果 MOV AX,10H;10H00010000B TEST AX,AX ;00010000B ‘AND’ 00010000B 00010000B 结果是否为0? |否ZF0TEST AX,0 ;00010000B ‘AND’ 00000000B 00000000B 结果是否为0?|是ZF1ZF(零标志位) 结果是否为0 ? {是 ZF1} {否 ZF0}AND(与操作,用0改写相应位为0其它位不变) 测试AL 第三位是否为1
MOV AL,00001000B;
TEST AL,0001000B; al‘and’00001000B00001000B ;把AL中其它位用0改变成0,第三位用1保留源数据ZF0 ;然后查看结果(第三位 ){0 那么结果必然都为0} | ; {1 那么结果不为0 说明第三位是1} 说明结果有1也就是说第三位是1为什么ZF0就能说明AL第三位是1呢
因为ZF0说明结果有1出现,而与AL相与的第三位是”1” 那么就是说源数据AL的第三位也是1(查看AND指令)