📜  8085程序交换两个8位数字

📅  最后修改于: 2021-06-28 16:22:01             🧑  作者: Mango

问题–编写汇编语言程序来交换存储在8085微处理器中的两个8位数字。

假设–假设有两个8位数字。一个8位数字存储在位置2500的存储地址中,另一个8位数字存储在位置2501的存储地址中。令05存储在位置2500,06存储在位置2501(不一定是两个8位数字)。

例子 –

算法 –

  1. 用任一位置(2500或2501或任何给定位置)的内容向累加器加载。
  2. 将累加器的内容移动到任何寄存器中(例如B),以便可以将另一个位置的内容加载到累加器中,并将累加器的先前数据保存到寄存器中。
  3. 将累加器的内容存储到另一个位置(数据2501至2500)。
  4. 用寄存器的内容加载累加器,然后将其存储到另一个地址位置。

程序 –

Address Mnemonics Comments
2000 LDA 2500 A<-[2500]
2003 MOV B,A B<-A
2004 LDA 2501 A<-[2501]
2007 STA 2500 2500<-[A]
200A MOV A,B A<-B
200B STA 2501 2501<-[A]
200E HLT Terminates the program

解释 –

  1. LDA 2500 –内容为2500的负载累加器
  2. MOV B,A –将累加器的内容复制到寄存器B
  3. LDA 2501 –具有位置2501内容的蓄能器
  4. STA 2500 –将累加器的内容存储到位置2500
  5. MOV A,B –将寄存器B的内容复制到累加器
  6. STA 2501 –将累加器的内容存储到位置2501
  7. HLT –终止程序