📜  8085程序将两个8位数字相乘

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

问题–将两个8位数字乘以地址2050和2051。结果存储在地址3050和3051。程序的起始地址取为2000。

例子 –

算法 –

  1. 在此示例中,我们将数字43加了七(7)次。
  2. 由于两个8位数字的乘积最多可以是16位,因此我们需要寄存器对来存储结果。

程序 –

Memory Address Mnemonics Comment
2000 LHLD 2050 H←2051, L←2050
2003 XCHG H↔D, L↔E
2004 MOV C, D C←D
2005 MVI D 00 D←00
2007 LXI H 0000 H←00, L←00
200A DAD D HL←HL+DE
200B DCR C C←C-1
200C JNZ 200A If Zero Flag=0, goto 200A
200F SHLD 3050 H→3051, L→3050
2012 HLT

说明–使用的寄存器: A,H,L,C,D,E

  1. LHLD 2050的H含量为2051,L的含量为2050
  2. XCHG将H的内容与D交换并将L的内容与E交换
  3. MOV C,D复制C中D的内容
  4. MVI D 00为D分配00
  5. LXI H 0000将00分配给H,将00分配给L
  6. DAD D将HL和DE相加并将结果分配给HL
  7. DCR C脱脂剂C减1
  8. 如果零标志= 0,则JNZ 200A将程序计数器跳转到200A
  9. SHLD将H的值存储在内存位置3051中,将L的值存储在3050中
  10. HLT停止执行程序,并停止任何进一步的执行

接下来阅读:汇编语言程序(8085微处理器)添加两个8位数字