微机xor指令运算,汇编指令xor
微机xor指令运算,汇编指令xor详细介绍
本文目录一览: 汇编语言中,指令XOR CX,CX表示什么意思??
这是一条8086CPU的异或运算指令。
其通用格式为:
XOR
,
----其功能是将两个操作数进行异或运算,并将结果存放到操作数1中
XOR CX,CX
----这条指令是对cx自身进行异或操作,结果为0,并将0存回cx中
用mov cx,0 可实现相同的功能,但是自身异或运算效率更高,所以经常看到类似的指令。如:
XOR AX,AX
XOR BX,BX
异或运算有一个特性是:用同一个数x对另一个数y进行两次异或后将还原为y。用这个特性可以进行加密解密。
xor 表示异或操作
1 xor 1 = 0
0 xor 0 = 0
1 xor 0 = 1
0 xor 1 = 1
所以xor cx, cx就相当于把cx各位置0
CX清零...
这是一条8086CPU的异或运算指令。
xor 表示异或操作
1 xor 1 = 0
0 xor 0 = 0
1 xor 0 = 1
0 xor 1 = 1
所以xor,cx,cx就相当于把cx各位置0。
用mov
cx,0
可实现相同的功能,但是自身异或运算效率更高,所以经常看到类似的指令。如:
XOR
AX,AX
XOR
BX,BX
异或运算有一个特性是:用同一个数x对另一个数y进行两次异或后将还原为y。用这个特性可以进行加密解密。
扩展资料:
以MOV指令作为例子,MOV指令的格式为:MOV dst,src。其中:MOV为指令助记符,表示传送,dst为目标操作数,src表示源操作数,该指令的功能是将源操作数传送到目标单元。例如:
MOV......AL,20H;将8位立即数20H传送到AL中。
MOV......AX,1234H;将16位立即数1234H传送到AX中。
MOV......EAX,34568020H;将32位立即数34568020H传送到EAX中。
参考资料来源: 百度百科-汇编指令
操作数2>
操作数1>
plc指令or和xor是什么意思
or是或运算,aorb的结果:当a、b中只要有一个或者两个都为1时,结果为1,否则为0
xor是异或运算,axorb的结果:当a、b两个不同时结果为1,否则为0
上面是对于数字运算而言,如果是逻辑运算,把上面两句话的1替换为“真”、0替换为“假”即可。
PLC可编程逻辑控制器,是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。用户可以通过PLC指令来编制程序,完成对PLC的功能实现。一般PLC指令常指PLC梯形图。此外,各个厂家的PLC指令规则略有不同。
XOR AH,AH
XOR AH,AH;按位异或(同则0不同则1)指令,自己和自己异或显然是起清零作用,相当于MOV AH,0
ADC AH,0;带进位加指令,立即数0与AH、CF三者相加,和放入AH,操作是立即数0与AH相加的同时,将原进位位CF加到最低位上。
xor ah,ah
相当于 mov ah , 0
逻辑异或操作指令XOR(Exclusive OR Instruction)
指令格式:XOR Reg/Mem, Reg/Mem/Imm
受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)
指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑"异或操作"(运算规则:相异则或,相同则零。),操作结果存入目标操作数中。
如,已知(AH)=46H,要求把其的第0、2、5和7位的二进制值变反。
解:构造一个立即数,使其第0、2、5和7位的值为1,其它位的值为0,该立即数即为:0A5H或10100101B,然后再用指令"XOR AH, 0A5H"来实现此功能。计算过程:
01000110
10100101
________
11100011,运算结果为:0E3H。
对于本题,自己与自己异或,因为各个二进制位相同,根据“相异则或,相同则零”的运算规则,其结果必然是0。本指令功能等价于MOV AH,0,但运算速度要比MOV AH,0快很多。所以,有经验的程序员都喜欢用XOR AH,AH来代替MOV AH,0。
带进位加指令ADC(ADD With Carry Instruction)
指令格式:ADC Reg/Mem, Reg/Mem/Imm
受影响的标志位:AF、CF、OF、PF、SF和ZF
指令的功能是把源操作数和进位标志位CF的值(0/1)一起加到目的操作数中。
ADC AH,0用于解决或调整ADD AL,Reg/Mem/Imm的进位问题。
汇编指令xor
xor是取异或。
0x32的二进制是:?00110010?
0x47的二进制是:?01000111?
取异或的结果就是:01110101 转成十进制是117 对应的ascii码是小写的u
所以结果是对的。
c51单片机AND,OR,XOR逻辑运算是什么意思,能举例说明吗?
1)逻辑与 andAND Reg/Mem, Reg/Mem/Imm 受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)特点: X AND 0------0 用于将某位清0X AND 1------X 用于某位保持不变
2)逻辑或 orOR Reg/Mem, Reg/Mem/Imm 受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)或操作特点: X OR 0------X 某位保持不变X OR 1------1 某位置1
3)逻辑非 notNOT Reg/Mem 指令的执行不影响任何标志位
4)异或指令xorXOR Reg/Mem, Reg/Mem/Imm 受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)特点: X XOR 0 -------X 某位保持不变X XOR 1-------~X ,某位取反
5)测试指令testTEST OPR1,OPR2 功能:执行“与”操作,但不保存结果,只根据结果置条件标志位。
【汇编语言】 执行指令 XOR CX,0FFF0H 后的结果为什么?
XOR指令是异或指令,即对应位取反。和0异或不变,和1异或取反。
所以(CX)=FFF4H。(FFF0H=1111 1111 1111 0000B,即CX的前12位取反,后四位不变)
c51单片机AND,OR,XOR逻辑运算是什么意思?能举例说明吗??
AND :逻辑“与”
就是位与
比如1111_0101 AND 0101_1111 = 0101_0101
OR :或逻辑
1111_0101 OR 0101_1111 = 1111_1111
XOR:异或逻辑
1111_0101 AND 0101_1111 = 1010_1010
在逻辑信号中,只有两种情况,分别是“1”还有“0”。
1与1=1,1与0=0,0与1=0,0与0=0,相当于要两个都是1结果才是1
1或1=1,1或0=1,0或1=1,0或0=0,相当于只需要一个是1结果就是1
1异或1=0,1异或0=1,0异或1=1,0异或0=0,相当于两个不同结果是1,两个相同结果是0,就是 所谓的“异”嘛
ANL表示“与”,如某工作寄存器内容和累加器内容相与指令:ANL A,Ri,并将结果放回累加器A中
ORL表示“或”,如某工作寄存器内容和累加器内容相或指令:ORL A,Ri,并将结果放回累加器中
XRL表示“异或”,如某工作寄存器内容和累加器内容相异或指令:XRL A,Ri,并将结果放回累加 器A
汇编语言XOR BX,BX
这就是清零。。为什么不用MOV BX,0
而用XOR BX,BX
原因在于标志位。
就相当于,INC AX
和ADD AX,1
的区别
CF=OF=0,SF=0,ZF=1,PF无意义.
XOR BX,BX 是异或指令,对应位相同则为0,不同为1,所以相同的两个数相异或,结果为0,同时XOR又属于逻辑运算指令,该类指令执行后标志位清0,也就是FLAG=0。
INC AX和ADD AX,1还是不同的,INC只是不影响CF,其它和ADD相同。
汇编语言 XOR 后 标志位 CF 清零还是置一?
汇编语言
中xor是逻辑“异或”指令,该指令对指定的两个操作数按位进行逻辑“异或”运算,进行“异或”运算的两位不相同时,“异或”的结果为1,否则为0。
指令执行后cf=of=0,这是由处理器的硬件决定的,所以,xor
ax,
ax
这条指令执行后,同时完成cf的清零。