当我在 i8080 处理器的汇编程序中减去两个 16 位数字时出现问题。
示例:0f70 - 00f0,第一个数字将在寄存器 B 和 C 中,第二个在 D 和 E 中。
二进制:
B = 0000 1111 C = 0111 0000
D = 0000 0000 E = 1111 0000
因此,当我减去 CE 时,它需要“借用”。好的,所以我会减少 B 但 C 呢?我知道在这种情况下 C 将是 1000 0000 但其他情况?
代码:
ORG 800H
RST 5
MOV B,D
MOV C,E //after this in B and C I have 16bit minuend
RST 5 //after this in D and E I have 16bit subtrahend
MOV A,C //Move C to Accumulator
SUB E //subtract E
JC SUBTRACTINGB //if it don't need borrow jump
DCR B //else decrement B
MVI C,? // and what should be in C???