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 |
| . . . | . . . |
8085程式:兩個8位數的乘法
8086程式:兩個8位BCD數的減法
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP