8085程序:16位数除以8位数


在这个程序中,我们将学习如何用8位数除一个16位数。

问题陈述

编写8085汇编语言程序,将16位数除以8位数。

讨论

在这个程序中,我们从8000H和8001H读取16位数。8000H存储低位字节,8001H存储高位字节。8002H存储8位除数。除法运算后,16位商存储在8050H和8051H,余数存储在8052H。

输入

地址数据
.
.
.
.
.
.
80002B
8001CA
800253
.
.
.
.
.
.


流程图

程序

地址十六进制代码标签助记符注释
F00021, 00, 80
LXI H,8000H指向8000H地址
F0037E
MOV A, M存储低位字节
F00423
INX H增加HL对指向下一个位置
F00546
MOV B, M存储高位字节
F00623
INX H增加HL对指向下一个位置
F0074E
MOV C, M加载除数
F00804
INR B增加B寄存器
F00921, 00, 00
LXI H,0000H将0000H存储到HL对
F00C91LOOPSUB C从累加器中减去C
F00DDA, 14, F0
JC SKIP当CY=1时跳转到SKIP
F01023INCRINX H增加商部分
F011C3, 0C, F0
JMP LOOP跳转到LOOP
F01405SKIPDCR B减小B
F015CA, 1B, F0
JZ STORE当Z=1时跳转到STORE
F018C3, 10, F0
JMP INCR跳转到INCR
F01B81STOREADD C将C与累加器相加
F01CEB
XCHG交换DE和HL对的内容
F01D21, 50, 80
LXI H,8050H加载目标地址
F02073
MOV M,E存储低位商
F02123
INX H增加HL对
F02272
MOV M,D存储高位商
F02323
INX H增加HL对
F02477
MOV M,A存储余数
F02576
HLT终止程序


输出

地址数据
.
.
.
.
.
.
80506F
805102
80522E
.
.
.
.
.
.

更新于:2019年7月30日

4K+浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告