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 | 將記憶體元素載入到累加器 | |
| 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 |
| . . . | . . . |
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP