8085程序打印输入整数表

问题—— 用8085编写汇编语言程序,打印输入整数表。

null

假设—— 假设输入的数字位于存储位置2050,表格将从起始位置3050打印。

例如——

图片[1]-8085程序打印输入整数表-yiteyi-C++库

算法-

  1. 从内存位置2050将输入值加载到累加器中,然后将其复制到另一个寄存器,如D。还将0A存储在寄存器B中。
  2. 使用LXI指令以M为单位存储内存位置3050,并获取另一个寄存器,比如值为00的C。
  3. 现在将D寄存器的内容复制到A,将A和C的内容添加到A中,并将其存储在A中,然后将其复制到M中。
  4. M的增量值为1。
  5. 将A的内容复制到C,并将B的内容减1,如果其值为0,则停止,否则再次转到步骤3。

项目-

住址 助记符 评论
2000 LDA 2050 A
2003 MOV D,A D
2004 MVI B 0A B
2006 LXI H 3050 H
2009 MVI C 00 C
200B 莫夫A,D A
200C 加C A
200D MOV M,A M
200E INX H HL
200F 莫瓦 C
2010 DCR B B
2011 JNZ 200B 如果ZF=0,跳转到地址200B
2014 HLT 终止程序

解释——

  1. LDA 2050: 将2050内存位置的内容加载到累加器(寄存器A)。
  2. MOV D,A: 将累加器的内容移至寄存器D。
  3. MVI B 0A: 将0A数据存储到寄存器B中。
  4. LXI H 3050: 在H寄存器中存储30,在L寄存器中存储50,因此M将包含3050。
  5. MVI C 00: 在寄存器C中存储00个数据。
  6. 电影A,D: 将D寄存器的内容移到A。
  7. 添加C: 添加A和C寄存器的内容并存储在A中。
  8. MOV M,A: 将寄存器的内容移到M中。
  9. INX H: 将M的内容增加1。
  10. MOV C,A: 将寄存器的内容移到C中。
  11. DCR B: 将B寄存器的内容减1。
  12. JNZ 200B: 如果进位标志不为零,跳转到地址200B。
  13. HLT: 终止程序。
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享