8085程式用於乘以兩個8位數


在本程式中,我們將瞭解如何使用 8085 微處理器乘以兩個 8 位數。

問題陳述

編寫 8085 組合語言程式,將儲存在記憶體位置的兩個 8 位數相乘,並將 16 位結果儲存到記憶體中。

討論

8085 沒有乘法運算。要獲得乘法的結果,我們應該使用重複加法的方法。

兩個 8 位數相乘後,可能會生成 1 位元組或 2 位元組的數字,因此我們使用兩個暫存器來儲存結果。

我們將資料儲存在 8000H 和 8001H 位置。結果儲存在 8050H 和 8051H 位置。

輸入

地址
資料
.
.
.
.
.
.
8000
DC
8001
AC
.
.
.
.
.
.

流程圖

程式

地址
十六進位制程式碼
標籤
助記符
註釋
F000
21, 00, 80


LXI H,8000H
載入第一個運算元地址
F003
46


MOV B, M
將第一個運算元儲存到 B
F004
23


INX H
增加 HL 對
F005
AF


XRA A
清除累加器
F006
4F


MOV C, A
將 00H 儲存在暫存器 C 中
F007
86
LOOP
ADD M
將記憶體元素與累加器相加
F008
D2, 0C, F0


JNC SKIP
當進位標誌為 0 時,跳過下一個任務
F00B
0C


INR C
增加 C,當進位為 1 時
F00C
05
SKIP
DCR B
減少 B 暫存器
F00D
C2,07, F0


JNZ LOOP
當 Z 標誌不為 1 時跳轉到迴圈
F010
21,50, 80


LXI H,8050H
載入目標地址
F013
71


MOV M, C
將 C 暫存器內容儲存到記憶體中
F014
23


INX H
增加 HL 對
F015
77


MOV M, A
將累加器內容儲存到記憶體中
F016
76


HLT
終止程式


輸出

地址
資料
.
.
.
.
.
.
8050
93
8051
D0
.
.
.
.
.
.


更新於: 2020-06-27

767 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告