📜  带8085微处理器的8255接口,用于1的补码和2的补码

📅  最后修改于: 2021-06-28 15:59:06             🧑  作者: Mango

问题–将8255与8085微处理器接口,并编写汇编语言程序以在端口A中显示99,在端口B中显示1的补码,在端口C中显示2的补码99。如果端口地址分别为30H,32H和33H。

例子 –

D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 0 0 0 0

算法 –

  1. 构造控制字寄存器。
  2. 累加器A的输入值。
  3. 在端口A中显示A的值。
  4. 现在,将计算A的1的补数,并且结果将显示在端口B中。
  5. 现在,通过将1的A的补数加1来计算A的2的补数。结果显示在端口C中。

程序 –

Mnemonics Comments
MVI A, 80 A<–80
OUT 33 Control Register<–A
MVI A, 99 A<–99
OUT 30 Port A<–A
CMA 1’s complement of A
OUT 31 Port B<–A
INR A A<–A+1
OUT 32 Port C<–A
RET Return

解释 –

  1. .MVI A,80:控制寄存器的值为80。
  2. OUT 33:将A的值放入端口控制寄存器的端口号33H中。
  3. .MVI A,99: A的值等于99。
  4. OUT 30:显示30H中的A值,它是端口A的端口号。
  5. CMA:计算A的1的补码。
  6. OUT 31:在31H中显示A的1的补码,这是端口B的端口号。
  7. INR A:A的1的补码递增1,即计算A的2的补码。
  8. OUT 32 :在32 H中显示A的2的补码,这是端口C的端口号。
  9. RET:回来。