在8085指令集中,特别是在其逻辑指令集中,我们具有AND,OR,XOR,NOT类型的指令。8085没有直接执行NAND,NOR,XNOR操作的指令。现在让我们讨论仅执行AND操作的指令。
要执行两个数字的与运算,8085施加了以下限制:必须将一个操作数保留在累加器中。另一个操作数可以位于以下任何可能的位置-
分类 | 例子 |
---|---|
另一个操作数可以保存在指令的8位立即数中。 | ANI 43H ANI FFH |
另一个8位操作数可以保留在一个存储单元中,并且其存储地址将由HL寄存器对指向。 | 全日空 |
另一个8位操作数可以保存在8位寄存器中 | ANA B ANA C |
这是适用于ANDing操作的8085指令集中可用的指令列表-
助记符,操作数 | 操作码(十六进制) | 字节数 |
---|---|---|
全日空 | A7 | 1 |
ANA B | A0 | 1 |
全日空 | A1 | 1 |
一个广告 | A2 | 1 |
全日空 | A3 | 1 |
全日空 | A4 | 1 |
全日空 | A5 | 1 |
全日空 | A6 | 1 |
ANI数据 | E6 | 2 |
AND操作执行两个操作数的按位与。如果X是累加器的一位,而Y是同一位位置中另一个操作数的一位,则根据以下真值表执行AND操作。
X | ÿ | X和Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
AND指令将如下影响标志寄存器位-
根据结果更新S,P和Z标志
Cy标志重置为0
AC标志设置为1。