发布网友 发布时间:2022-04-20 05:15
共1个回答
热心网友 时间:2023-07-06 00:17
汇编语言逻辑运算(and,or,xor,..)(按位)或(or)格式:OROPRD1,OPRD2指令执行后:CF=0,OF=0,标志PF/ZF/SF反映运算结果,标志位AF未定义。作用:保证某些位不变,某些位设为1。和“0”做或运算保持不变,和“1”做或运算设置为1。某个操作数自身或,值不变。eg:oreax,eax ;eax=00000008 jeXXXXXXXX ;判断eax,为空就跳。。用户名或密码为空就跳走。。 ;或之后,eax仍为000000082.异或(xor) 格式:XOROPRD1,OPRD2, 异或执行的规则如下: XOR0,0=0 XOR0,1=1 XOR1,0=1 XOR1,1=0 指令执行后:CF=0,OF=0,标志位PF,ZF,SF反映运算结果,标志为AF未定义。 作用:和“0”异或保持不变,和“1”异或则取反。 如果一个操作数XORA,A,则A会被置0,CF=OF=0,ZF=1,PF=1,SF=03.与(and) 格式:ANDOPRD1,OPRD2 执行指令后:CF=0,OF=0,标志位PF,ZF,SF反映运算结果,标志位AF未定义。 某个操作数自己与自己相“与”,则值不变,可使CF清0 作用:是使操作数中的某些为保持不变,其它为清零。和"1"与保持不变,和“0”与清零。4.否(NOT) 指令格式如下: NOTOPRD 执行指令后:OPRD各位取反,操作数可是通用寄存器可是存储单元,但是不能是立即 数。对标志位没有影响。