8085 微處理器多位元組 BCD 數減法程式


在這裡,我們將看到一個可以使用 8085 微處理器對多位元組 BCD 數進行減法的程式。

問題陳述

編寫一個 8085 組合語言程式來減去兩個多位元組 BCD 數。

討論

這些數字儲存在記憶體中,並且還儲存了一個額外的資訊。它將向我們顯示多位元組 BCD 數的位元組數。這裡我們選擇 3 位元組 BCD 數。它們儲存在 8001H 到 8003H 位置,另一個數字儲存在 8004H 到 8006H 位置。8000H 位置儲存位元組數。在這種情況下,位元組數為 03H。

對於減法,我們使用 10 的補碼方法進行減法。

在這種情況下,數字為:672173 – 275188 = 376985

輸入

地址
資料


8000
03
8001
73
8002
21
8003
67
8004
88
8005
51
8006
27



流程圖

程式

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


LXI H,8000H
指向獲取計數的位置
F003
4E


MOV C,M
將計數獲取到 C
F004
11, 01, 80


LXI D,8001H
指向第一個數字
F007
21, 04, 80


LXI H,8004H
指向第二個數字
F00A
37


STC
設定進位標誌
F00B
3E, 99
LOOP
MVI A,99H
將 99H 載入到 A
F00D
CE,00


ACI 00H
將 00H 和進位與 A 相加
F00F
96


SUB M
從 A 減去 M
F010
EB


XCHG
交換 DE 和 HL
F011
86


ADD M
將 M 加到 A
F012
27


DAA
十進位制調整
F013
77


MOV M,A
將 A 儲存到記憶體
F014
EB


XCHG
交換 DE 和 HL
F015
23


INX H
透過 HL 指向下一個位置
F016
13


INX D
透過 DE 指向下一個位置
F017
0D


DCR C
將 C 減 1
F018
C2, 0B, F0


JNZ LOOP
如果 Z = 0,則跳轉到 LOOP
F01B
76


HLT
終止程式

 

輸出

地址
資料


8001
85
8002
69
8003
37


更新於:2019 年 10 月 9 日

402 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告