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+瀏覽量

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.