8085程式:查詢8位數中的最小數字
在這個程式中,我們將學習如何從一個兩位數中找到最小的一位數字。
問題陳述
編寫一個8085組合語言程式,從一個兩位數中找到最小的一位數字。該數字儲存在8000H位置,結果儲存在8050H。
討論
我們將使用掩碼操作來完成此任務。每個數字佔用一個半位元組。我們透過與0FH(0000 1111)進行與運算來掩蓋高半位元組。將低半位元組儲存到另一個暫存器中。之後,我們獲取高半位元組。為了得到它,我們將數字向右移四位,將低半位元組轉換為高半位元組。現在再次執行掩碼操作,獲取高半位元組。透過比較它們,我們可以找到最小的一個。
輸入
| 地址 | 資料 |
|---|---|
| … | … |
| 8000 | 78 |
| … | … |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| F000 | 3A, 00, 80 | | LDA 8000H | 從記憶體中讀取數字 |
| F003 | 47 | | MOV B,A | 將A的內容複製到B |
| F004 | E6, 0F | | ANI 0FH | 掩蓋高半位元組 |
| F006 | 4F | | MOV C,A | 將低半位元組儲存到C |
| F007 | 78 | | MOV A,B | 將B中的數字取到A |
| F008 | 07 | | RLC | 將A的內容左移四位 |
| F009 | 07 | | RLC | |
| F00A | 07 | | RLC | |
| F00B | 07 | | RLC | |
| F00C | E6, 0F | | ANI 0FH | 獲取低半位元組 |
| F00E | B9 | | CMP C | 比較C和A |
| F00F | DA, 13, F0 | | JC STORE | 如果CY = 1,則將A儲存到記憶體 |
| F012 | 79 | | MOV A,C | 否則將C取到A |
| F013 | 32, 50, 80 | STORE | STA 8050H | 將結果儲存到記憶體 |
| F016 | 76 | | HLT | 終止程式 |
輸出
| 地址 | 資料 |
|---|---|
| … | … |
| 8050 | 07 |
| … | … |
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP