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

2021年3月22日15:01:54 发表评论 848 次浏览

先决条件–

8085微处理器中的逻辑指令

问题–

编写一个汇编语言程序, 将两个8位数字相乘并将结果存储在8085微处理器中的存储器地址3050中。

示例–

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

使用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 程序结束

说明–

  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:停止执行程序。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: