汇编中偶数判断指令test是什么原理

如题所述

第1个回答  2013-11-28
test就是测试指令,没什么偶数判断指令,test和and一样,但是test不会修改操作数。偶数的特点是换算成二进制的话最后一位必定是0(2的倍数),所以检测最后一位是否是0就能判断出是否是偶数,比如test 0FFF1H,1 会使标志寄存器的ZF为0,用JZ或JNZ指令就能完成后续的工作。
第2个回答  2013-11-28
Test 和Sub 指令一样 都可以理解为相减 但是相减不保存结果 而是改变标志寄存器
第3个回答  2013-11-28
测试吧!利用标志寄存器标志来判断的啊!

汇编中偶数判断指令test是什么原理
test就是测试指令,没什么偶数判断指令,test和and一样,但是test不会修改操作数。偶数的特点是换算成二进制的话最后一位必定是0(2的倍数),所以检测最后一位是否是0就能判断出是否是偶数,比如test 0FFF1H,1 会使标志寄存器的ZF为0,用JZ或JNZ指令就能完成后续的工作。

汇编中的TEST指令
test执行的就是and的指令,只不过不会保存and执行的结果,而是根据and的结果设置flags寄存器的各种标志 test al, 08h 就是测试al的第4位是不是1,8h = 0000 1000 同理 test ax, 0200h 测试ax的第10位, 0200h = 0000 0010 0000 0000 test cl, 01h 测试cl的第1位,01h = 0000 0001 比如...

汇编中的TEST指令
test属于逻辑运算指令,其功能为功能执行BIT与BIT之间的逻辑运算和测试功能(两操作数作与运算,仅修改标志位,不回送结果)。Test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存。EST AX, BX与AND AX, BX命令有相同效果。TEST语法规格:TEST r\/m,r\/m\/data。其...

汇编语言中奇数和偶数是通过什么语句区分出来的?
把需要判断的奇偶数,通过传送指令,传送给累加器A就可以了,如果(A)的内容为奇数 则程序状态字中的奇偶标志位P=1,否则奇偶标志位P=0,表示(A)的内容为偶数。例如:想要判断片内RAM40H单元的内容,如果是偶数,将50H单元清零;如果是奇数,将50H单元置为0FFH.MOV A,40H JB P,LL MOV ...

汇编指令text al,02h的含义是?
TEST是测试指令,它的操作与AND指令相同,把两者进行逻辑“与”,但不把逻辑运算的结果送回目标操作数,因此两个数都保持不变。结果反映在标志位上。“与”的结果最高位是0还是1,是否全0,结果中1的个数是奇书还是偶数等,分别由SF、ZF、PF标志位体现,且总是将CF、OF清零。这是我学的书上的...

汇编语言中判断奇偶数怎么判断?急!
AL里面放要判断的数,测试最末一位是否是1。如果是0,则说明是偶数,跳转的处理偶数的程序段;如果是1,则说明是奇数。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。

汇编语言 TEST AL,81H
TEST AL,81H,是把最高位、最低位,保留下来,其它各个位,都变成零。JNZ 就是非零转移。也就是说:当最高位,或最低位为1的时候转移。最高位为1,代表,原来的数字,是负数。最低位为1,代表,原来的数字,是奇数。不转移的时候,就说明原来的数字是 正、偶,数。

(x&1) !=0 \/\/判别是否是奇数 这句话转化成汇编语言是什么?
判别是不是奇数在汇编中用的是TEST指令 TEST 目标操作数,1 如果标志位ZF为1 那么为偶数 如果标志位ZF为0 那么为奇数 希望我的回答可以帮到你

汇编语言中 si*2 具体指什么意思?
若不加1调整,就会指向中间元素的高字节和下一个元素的低字节。3、cmp si,2 ; (si)=2?这里的比较si是否等于2,跟test si,1有很大区别。指令cmp si,2是判断si是否等于2,而指令test si,1则是判断si是偶数还是奇数,2是偶数,但偶数不一定非得是2,可以是其它偶数,如4、6、8等等。

编写程序test-1py,用户输入一个数字,判断输入的数是奇数还是偶数?
楼主记得把代码里的井号#换成空格 num = int(input("请输入一个数字:"))if num%2:print("奇数")else:print("偶数")

相似回答