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 | 5D |
| … | … |
第二個輸入
| 地址 | 資料 |
|---|---|
| … | … |
| 8000 | 23 |
| 8001 | CF |
| … | … |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| F000 | 0E, 00 | MVI C,00H | 清除 C 暫存器 | |
| F002 | 21, 00, 80 | LXI H,8000H | 載入初始地址以獲取運算元 | |
| F005 | 7E | MOV A,M | 將 Acc 載入到記憶體元素 | |
| F006 | 23 | INX H | 指向下一個位置 | |
| F007 | 46 | MOV B,M | 將 B 載入到第二個運算元 | |
| F008 | 90 | SUB B | 從 A 中減去 B | |
| F009 | D2, 0D, F0 | JNC STORE | 當 CY = 0 時,轉到 STORE | |
| F00C | 0C | INR C | 將 C 增加 1 | |
| F00D | 21, 50, 80 | STORE | LXI H,8050H | 載入目標地址 |
| F010 | 77 | MOV M,A | 儲存結果 | |
| F011 | 23 | INX H | 指向下一個位置 | |
| F012 | 71 | MOV M,C | 儲存借位 | |
| F013 | 76 | HLT | 終止程式 |
輸出
第一個輸出
| 地址 | 資料 |
|---|---|
| … | … |
| 8050 | 1B |
| 8051 | 00 |
| … | … |
第二個輸出
| 地址 | 資料 |
|---|---|
| … | … |
| 8050 | 54 |
| 8051 | 01 |
| … | … |
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP