📜  8085程序减去两个BCD编号

📅  最后修改于: 2021-07-02 17:52:04             🧑  作者: Mango

问题–在8085微处理器中编写汇编语言程序,以减去两个8位BCD编号。

例子 –

算法 –

  1. 将地址2051中的数据加载到A中
  2. 将数据从A移到C
  3. 将数据移至A中的99
  4. 减去寄存器A和C的内容
  5. 将A的内容增加1
  6. 将数据从A移到B
  7. 将地址2050中的数据加载到A中
  8. 使用DAA指令添加A和C的内容并以BCD格式对其进行调整
  9. 将结果存储在内存地址3050中
  10. 停止

程序 –

MEMORY ADDRESS MNEMONICS COMMENT
2000 LDA 2051 A <- 2051
2003 MOV C, A C <- A
2004 MVI A 99 A <- 99 2006 SUB C A = A – C 2007 INR A A = A + 1
2008 MOV B, A B <- A
2009 LDA 2050 A <- 2050 200C ADD B A = A + B 200D DAA Convert the hexadecimal value to BCD value 200E STA 3050 3050 <- A 2011 HLT Stop

解释 –

  1. LDA 2051用于从A中的地址2051加载数据。
  2. MOV C,A用于将数据从A移到C。
  3. MVI A 99用于将数据移至寄存器A。
  4. SUB C用于减去寄存器A和C的内容。
  5. INR A用于将A的内容增加1。
  6. MOV B,A用于将数据从A移到B。
  7. LDA 2050用于从A中的地址2050加载数据。
  8. ADD B用于添加寄存器A和B的内容。
  9. DAA用于将累加器中的十六进制值转换为BCD值。
  10. STA 3050用于存储A到3050的内容。
  11. HLT用于结束程序。