8085程序使用逻辑指令将两个8位数字相乘

先决条件–
8085微处理器中的逻辑指令
问题–
编写一个汇编语言程序, 将两个8位数字相乘并将结果存储在8085微处理器中的存储器地址3050中。
示例–

8085程序使用逻辑指令将两个8位数字相乘

文章图片
使用RLC指令后, 累加器(A)的值为:
A = 2n*A

其中n =使用RLC指令的次数。
假设–
假设第一个数字存储在寄存器B中, 第二个数字存储在寄存器C中。结果不得带任何进位。
算法–
  1. 将值05分配给寄存器B
  2. 将值04分配给寄存器C
  3. 在A中移动B的内容
  4. 向左旋转蓄能器, 不带进位
  5. 向左旋转蓄能器, 不带进位
  6. 将累加器的内容存储在内存地址3050中
  7. 暂停程序
程序–
内存地址 记忆 注释
2000 MVI B 05 B < -05
2002 MVI C 04 C < -04
2004 MOV A, B A < -B
2005 RLC 旋转A的内容而无需进位
2006 RLC 旋转A的内容而不带进位
2007 STA 3050 3050 < -A
200A HLT 程序结束
【8085程序使用逻辑指令将两个8位数字相乘】说明–
  1. MVI B 05:将值05分配给B寄存器。
  2. MVI C 04:将值04分配给C寄存器。
  3. MOV A, B:将寄存器B的内容移至寄存器A。
  4. RLC:将累加器的内容向左旋转而不带进位。
  5. RLC:将累加器的内容向左旋转而不带进位。
  6. STA 3050:将寄存器A的内容存储在内存位置3050
  7. HLT:停止执行程序。

    推荐阅读