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

📅  最后修改于: 2021-06-28 09:19:20             🧑  作者: Mango

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

例子 –

使用RLC指令后,累加器(A)的值为:

A = 2n*A

其中n =使用RLC指令的次数。

假设–
假定第一个数字存储在寄存器B中,第二个数字存储在寄存器C中。结果不得带任何进位。

算法 –

  1. 将值05分配给寄存器B
  2. 将值04分配给寄存器C
  3. 在A中移动B的内容
  4. 向左旋转蓄能器,不带进位
  5. 向左旋转蓄能器,不带进位
  6. 将累加器的内容存储在内存地址3050中
  7. 暂停程序

程序 –

MEMORY ADDRESS MNEMONICS COMMENTS
2000 MVI B 05 B <- 05
2002 MVI C 04 C <- 04
2004 MOV A, B A <- B
2005 RLC rotate the content of A without carry
2006 RLC rotate the content of A without carry
2007 STA 3050 3050 <- A
200A HLT End of the program

解释 –

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