先决条件–
8085微处理器中的逻辑指令
问题–
编写一个汇编语言程序, 将两个8位数字相乘并将结果存储在8085微处理器中的存储器地址3050中。
示例–
文章图片
使用RLC指令后, 累加器(A)的值为:
A = 2n*A
其中n =使用RLC指令的次数。
假设–
假设第一个数字存储在寄存器B中, 第二个数字存储在寄存器C中。结果不得带任何进位。
算法–
- 将值05分配给寄存器B
- 将值04分配给寄存器C
- 在A中移动B的内容
- 向左旋转蓄能器, 不带进位
- 向左旋转蓄能器, 不带进位
- 将累加器的内容存储在内存地址3050中
- 暂停程序
内存地址 | 记忆 | 注释 |
---|---|---|
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 | 程序结束 |
- MVI B 05:将值05分配给B寄存器。
- MVI C 04:将值04分配给C寄存器。
- MOV A, B:将寄存器B的内容移至寄存器A。
- RLC:将累加器的内容向左旋转而不带进位。
- RLC:将累加器的内容向左旋转而不带进位。
- STA 3050:将寄存器A的内容存储在内存位置3050
- HLT:停止执行程序。
推荐阅读
- 8085程序来确定数字是否为质数
- 8085程序将8位BCD码转换为ASCII码
- 使用30分钟快速入门机器学习时间
- 10个基本的机器学习面试问题分享
- 7个必备的移动应用程序准备在线面试
- win10 序列号最新推荐
- 本图文详细教程教你win10如何更新显卡驱动
- 本图文详细教程教你win10如何关闭防火墙
- 本图文详细教程教你win10如何增加虚拟内存