8085微处理器中执行异或运算的指令
在8085指令集中,特别是在其逻辑指令组中,我们有AND、OR、XOR、NOT类型的指令。8085没有直接执行NAND、NOR、XNOR运算的指令。现在让我们仅讨论执行XOR运算的指令。
要执行两个数字的XOR运算,8085要求其中一个操作数必须保存在累加器中。另一个操作数可以位于以下任意位置:
分类 | 示例 |
---|---|
另一个操作数可以保存在指令中的8位立即数数据中。 | XRI 43H XRI FFH |
另一个8位操作数可以保存在内存位置中,其内存地址由HL寄存器对指向。 | XRA M |
另一个8位操作数可以保存在8位寄存器中 | XRA B ORA C |
以下是8085指令集中可用于XOR运算的指令列表
助记符,操作数 | 操作码(十六进制) | 字节数 |
---|---|---|
XRA A | AF | 1 |
XRA B | A8 | 1 |
XRA C | A9 | 1 |
XRA D | AA | 1 |
XRA E | AB | 1 |
XRA H | AC | 1 |
XRA L | AD | 1 |
XRA M | AE | 1 |
XRI 数据 | EE | 2 |
XOR运算对两个操作数执行按位异或。如果X是累加器的一个位,Y是另一个操作数在相同位位置上的一个位,则XOR运算根据以下真值表执行。
XOR运算的真值表
X | Y | X XOR Y | |
---|---|---|---|
0 | 0 | 0 | |
0 | 1 | 1 | |
1 | 0 | 1 | |
1 | 1 | 0 |
XOR指令将影响标志寄存器位,如下所示:
- S、P和Z标志根据结果更新;
- Cy和Ac标志重置为0;
广告