8085程式用於統計小於0A的元素個數
在本節中,我們將使用8085統計小於0AH的元素個數。
問題陳述
存在一個包含一些元素的陣列。編寫8085組合語言程式,統計小於0AH的元素個數。
討論
陣列從F051H開始儲存。F050儲存陣列的大小。邏輯很簡單。首先,我們將陣列大小載入到B暫存器中。C暫存器將統計小於0AH的元素個數。我們將從記憶體中逐個讀取數字,然後將其與0A進行比較。如果CY標誌被置位,則表示累加器中儲存的值較小,因此將C加1,否則忽略它。
輸入
| 地址 | 資料 |
|---|---|
| F050 | FE |
| F051 | 02 |
| F052 | 07 |
| F053 | A5 |
| F054 | 48 |
| F055 | 08 |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| 8000 | 21, 50, F0 | | LXI H,F050 | 指向記憶體位置F050 |
| 8003 | 46 | | MOV B,M | 將陣列大小載入到B暫存器 |
| 8004 | 0E, 00 | | MVI C,00H | 清零C暫存器,用於計數 |
| 8006 | 23 | LOOP | INX H | 指向陣列的第一個元素 |
| 8007 | 7E | | MOV A,M | 將記憶體元素載入到累加器 |
| 8008 | FE, 0A | | CPI 0AH | 比較累加器和0AH |
| 800A | D2, 0E, 80 | | JNC SKIP | 如果數字較大,則跳過 |
| 800D | 0C | | INR C | 將C加1 |
| 800E | 05 | SKIP | DCR B | 將B減1 |
| 800F | C2, 06, 80 | | JNZ LOOP | 如果陣列未完成,則跳轉到Loop |
| 8012 | 79 | | MOV A,C | 將C中的數字移動到A |
| 8013 | 32, 50, 51 | | STA F150 | 將結果儲存在F150H |
| 8016 | 76 | | HLT | 終止程式。 |
輸出
| 地址 | 資料 |
|---|---|
| F150 | 03 |
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP