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

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

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

例子 –

算法 –

  1. 将存储器3000中的8位数字加载到累加器中
  2. 将累加器的值移到寄存器H中
  3. 将存储器3001中的8位数字加载到累加器中
  4. 将累加器的值移到寄存器D中
  5. 交换两个寄存器对
  6. 停止

程序 –

Memory Mnemonics Operands Comment
2000 LDA [3000] [A] <- [3000]
2003 MOV H, A [H] <- [A]
2004 LDA [3001] [A] <- [3001]
2007 MOV D, A [D] <- [A]
2008 XCHG [H-L] [D-E]
2009 HLT Stop

说明–寄存器A,H,D用于一般用途。

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