1.问题–编写8085指令以复位累加器。
解决方案–在8085中有4条指令来重置累加器。这些指令是:
S.No. | MNEMONICS | COMMENT |
---|---|---|
1 | MVI A, 00 | A <- 00 |
2 | ANI 00 | A AND 00 |
3 | XRA A | A XOR A |
4 | SUB A | A <- A – A |
解释 –
- MVI A,00:指令将00复制到A。
- ANI 00:指令对源操作数(即00)到目标操作数(即累加器A)进行逐位与运算,并将结果存储在累加器A中。
- XRA A:指令在源操作数和目标操作数之间执行XOR运算,并将结果存储在累加器中。此处,源操作数和目标操作数都相同,即A。因此,执行XOR操作后,存储在累加器中的结果为00。
- SUB A:操作从累加器的内容中减去源操作数的内容(此处,源寄存器为A),并将结果存储在累加器本身中。因为,源和目标操作数是相同的。因此,累加器A = 00。
2.问题–编写用于复位累加器的8086指令。
解决方案– 8086中有4条指令复位蓄电池。这些说明是:
S.No. | MNEMONICS | COMMENT |
---|---|---|
1 | MOV AX, 0000 | AX <- 0000 |
2 | AND AX, 0000 | AX <- AX AND 0000 |
3 | XOR AX, AX | AX <- AX XOR AX |
4 | SUB AX, AX | AX <- AX – AX |
说明–使用寄存器AX。
- MOV AX,0000:将0000复制到AX。
- AND AX,0000:操作逐位执行,将源操作数(0000)与目标操作数进行“与”运算,并将结果存储在AX中。
- XOR AX,AX:对源寄存器和目标寄存器的值执行XOR操作,并将结果存储在AX中。源和目标操作数都相同。因此,AX = 0。
- SUB AX,AX:操作从目标操作数的值中减去源操作数的值,并将结果存储在AX中。这两个操作数都相同,因此AX = 0。