8085程式:兩個8位數的減法


在本程式中,我們將學習如何使用8085微處理器減去兩個8位數。

問題陳述

編寫8085組合語言程式,以減去兩個8位數並將結果儲存在8050H和8051H位置。

討論

在8085中,SUB指令使用2的補碼方法進行減法。當第一個運算元較大時,結果為正數。完成減法後,它不會啟用進位標誌。當結果為負數時,結果將以2的補碼形式表示,並且進位標誌將被啟用。

我們使用8000H和8001H位置的兩個數字。當數字為78H和5DH時,結果將為(78 – 5D = 1B),當數字為23H和CFH時,結果將為(23 – CF = 154)。這裡1表示數字為負數。實際結果是54H。它以2的補碼形式表示。

輸入

第一個輸入

地址
資料
.
.
.
.
.
.
8000
78
8001
8000H
.
.
.
.
.
.

78H

地址
資料
.
.
.
.
.
.
8000
23
8001
第二個輸入
.
.
.
.
.
.

8001H

5DH

地址
流程圖
程式
十六進位制程式碼
標籤
助記符
註釋

F000
0E,00
MVIC,00H
21,00, 80

清除C暫存器
F002
21,00,80
LXIH,8000H

載入初始地址以獲取運算元
F005
7E
23

MOVA, M
將累加器A載入記憶體單元
F006
46

03
INX H
指向下一個位置
90

F007
7E
MOVB, M
將B暫存器載入記憶體單元

F008
98
SUB B
從A中減去B

F009
D2,0D, F0
JNC STORE
21,50, 80
當CY = 0時,跳轉到STORE
F00C
0C
INR C
77

C加1
F00D
STORE
23

MOVA, M
將累加器A載入記憶體單元
21,50,80
71

LXIH,8050H
載入目標地址
F010
76

77
MOVM, A

儲存結果

F011

地址
資料
.
.
.
.
.
.
8050
03
8051
00
.
.
.
.
.
.

INX H

地址
資料
.
.
.
.
.
.
8050
54
8051
01
.
.
.
.
.
.

77

MOVM, C

8051程式:兩個8位數的減法

8085程式:交換兩個8位數

8085程式:兩個8位數的加法
8085程式:兩個8位數的乘法
8086程式:兩個8位BCD數的減法
© . All rights reserved.