8085微处理器中两个8位数的除法程序
这里我们将看到一个8085程序。这个程序将使用8085微处理器将两个8位数相除。
问题陈述 −
编写一个8085汇编语言程序,将两个8位数相除,并将结果存储在8020H和8021H位置。
讨论 −
8085没有除法运算。要得到除法的结果,我们应该使用重复减法的方法。
使用此程序,我们将得到商和余数。8020H将保存商,8021H将保存余数。
我们将数据保存在8000H和8001H位置。结果保存在8050H和8051H位置。
输入
被除数:0EH
除数:04H
商将为3,余数将为2
流程图

程序
| 地址 | 十六进制代码 | 标签 | 指令 | 注释 |
|---|---|---|---|---|
| F000 | 21, 0E, 00 | START | LXI H,0CH | 将8位被除数加载到HL寄存器对中 |
| F003 | 06, 04 | MVI B,04H | 将除数加载到B中以执行num1 / num2 | |
| F005 | 0E, 08 | MVI C, 08 | 初始化计数器 | |
| F007 | 29 | UP | DAD H | 左移1位 HL = HL + HL |
| F008 | 7C | MOV A, H | 将H加载到A中 | |
| F009 | 90 | SUB B | 执行 A = A – B | |
| F00A | DA, 0F, F0 | JC DOWN | 如果MSB<除数,则左移 | |
| F00D | 67 | MOV H,A | 如果MSB>除数,则将A的当前值存储到H中 | |
| F00E | 2C | INR L | 跟踪商 | |
| F00F | 0D | DOWN | DCR C | 递减计数器 |
| 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