8085程序:两个8位数的除法
在本程序中,我们将了解如何使用8085微处理器将两个8位数相除。
问题陈述
编写8085汇编语言程序,将两个8位数相除,并将结果存储在地址8020H和8021H处。
讨论
8085没有除法运算。要得到除法的结果,我们应该使用重复减法的方法。
使用此程序,我们将得到商和余数。8020H将保存商,8021H将保存余数。
我们将数据保存在8000H和8001H地址处。结果存储在8050H和8051H地址处。
输入
The Dividend: 0EH
The Divisor 04H
The Quotient will be 3, and the remainder will be 2
流程图

程序
| 地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
|---|---|---|---|---|
| F000 | 21,0E, 00 | START | LXIH,0CH | 将8位被除数加载到HL寄存器对中 |
| F003 | 06,04 | MVIB,04H | 将除数加载到B中以执行num1 / num2 | |
| F005 | 0E,08 | MVIC, 08 | 初始化计数器 | |
| F007 | 29 | UP | DADH | 左移1位 HL = HL + HL |
| F008 | 7C | MOVA, H | 将H加载到A中 | |
| F009 | 90 | SUB B | 执行 A = A – B | |
| F00A | DA,0F, F0 | JC DOWN | 如果MSB < 除数,则左移 | |
| F00D | 67 | MOVH, A | 如果MSB > 除数,则将A的当前值存储到H中 | |
| F00E | 2C | INR L | 跟踪商 | |
| F00F | 0D | DOWN | DCRC | 递减计数器 |
| F010 | C2,07, F0 | JNZ UP | 如果未耗尽,则再次执行 | |
| F013 | 22,20, 80 | SHLD 8020 | 将结果存储在8020 H处 | |
| F016 | 76 | HLT | 停止 |
输出
| 地址 | 数据 |
|---|---|
| . . . | . . . |
| 8020 | 03 |
| 8021 | 02 |
| . . . | . . . |
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP