📜  8085程序使用直接寻址模式交换两个16位数字

📅  最后修改于: 2021-06-28 09:07:18             🧑  作者: Mango

问题–使用直接寻址模式编写一个程序,以交换两个16位数字,起始地址为2000 ,第一个16位数字存储在3000 ,第二个16位数字存储在3002存储器地址。

例子 –

算法 –

  1. 将存储器3000中的16位数字加载到寄存器对(HL)中
  2. 交换寄存器对
  3. 将存储器3002中的16位数字加载到寄存器对(HL)中
  4. 交换两个寄存器对
  5. 停止

程序 –

Memory Mnemonics Operands Comment
2000 LHLD [3000] [H-L] <- [3000]
2003 XCHG [H-L] [D-E]
2004 LHLD [3002] [H-L] <- [3002]
2007 XCHG [H-L] [D-E]
2008 HLT Stop

说明–寄存器(HL)对(DE)对用于一般用途。

  1. LHLD用于通过16位地址(3字节指令)直接加载寄存器对HL
  2. XCHG用于交换两个寄存器对(HL),(DE)的数据(1字节指令)
  3. HLT用于暂停程序。