汇编中OR与AND指令详细意义
AND CH,80H ;与运算把一些位设置为0,这又是哪来的。。 展开
汇编中OR的指令为逻辑或运算,该指令会置CF=OF=0,其结果影响SF、ZF、PF。指令格式为OR r/m,r/m/i。例如:mov al,01100011B(换行符)or al,00111011B的执行结果为al=01111011B。
汇编中AND的指令为逻辑与运算,该指令会置CF=OF=0,其结果影响SF、ZF、PF。指令格式为AND r/m, r/m/i。例如:mov al,01100011B(换行符)and al,00111011B的执行结果为al=00100011B。
OR EAX,80008000H和AND CH,80H的逻辑与或运算,执行需要参考对应逻辑常量与变量之间的数值才能得出执行结果。
扩展资料
汇编中出了OR与AND的逻辑运算之外,还有XOR、NOT和TEST指令。该五个指令构成了最基本的汇编逻辑运算,通过指令之间的灵活配合使用进而实现程序员的编程目的。
XOR为逻辑异或操作,异或指令的格式为XOR OPRD1 OPRD2。标志位同与运算指令,某个操作数自身异或,值不变,可使进位标志CF=0。而与0异或,不变,与1异或,取反。
NOT为逻辑否操作,否指令的格式为NOT OPRD。把OPRD取反,再回送给OPRD。该操作对标志位没有影响。某个操作数自身或,值不变,可使进位标志CF=0。
TEST为测试操作,测试指令的格式为TEST OPRD1 OPRD2,该指令与AND类似,但结果不回送。该指令执行后,ZF,PF,SF反映运算结果,CF=OF=0
参考资料来源:百度百科-汇编指令
2023-06-12 广告
如 0B00001111 OR 0B11000000 值为0B11001111,
AND为叠加时取0 如 0B00001111 AND 0B11000011 值为0B00000011,
or 01000011,01110011 结果是 01110011
and 0100110,0111011 结果 0100010
是不是这样
是的