8085程式查詢一系列偶數的和
在這個程式中,我們將學習如何查詢所有偶數的和。
問題陳述
編寫 8085 組合語言程式以查詢儲存在陣列中的所有偶數的和。陣列的大小儲存在位置 F100;數字從記憶體位置 F101 開始儲存。結果將儲存在 F150 中。
討論
要檢查一個數字是奇數還是偶數,我們可以進行 AND 操作。如果一個數字是奇數,那麼它將包含 1 作為最低有效位,對於偶數,最低有效位將為 0。因此,在 AND 操作後,如果結果為 0,則它是偶數。透過使用迴圈,我們僅在數字為偶數時才新增數字。
輸入
| 地址 | 資料 |
|---|---|
. . . | . . . |
| F100 | 08 |
| F101 | 0C |
| F102 | 0F |
| F103 | 0A |
| F104 | 0B |
| F105 | 02 |
| F106 | 03 |
| F107 | 05 |
| F108 | 08 |
. . . | . . . |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| F000 | 3A, 00, F1 | | LDA F100 | 將元素數量載入到 A 中 |
| F003 | 4F | | MOV C,A | 載入計數器 |
| F004 | 06, 00 | | MVI B,00 | 清除 B 以儲存總和 |
| F006 | 21, 01, F1 | | LXI H,F101 | 初始化指標以獲取數字 |
| F009 | 7E | LOOP | MOV A,M | 從記憶體中獲取數字 |
| F00A | E6, 01 | | ANI 01 | 掩碼位以檢查是偶數還是奇數 |
| F00C | C2, 12, F0 | | JNZ SKIP | 如果它不為零,則跳過它 |
| F00F | 78 | | MOV A,B | 將 B 載入到 A 中 |
| F010 | 86 | | ADD M | 將 A 和記憶體元素相加 |
| F011 | 47 | | MOV B,A | 將 A 儲存到 B 中 |
| F012 | 23 | SKIP | INX H | 指向下一個位置 |
| F013 | 0D | | DCR C | 減少計數器 |
| F014 | C2, 09, F0 | | JNZ LOOP | 直到 Z = 1,跳轉到 LOOP |
| F017 | 32, 50, F1 | | STA F150 | 儲存結果 |
| F020 | 76 | | HLT | 終止程式 |
輸出
| 地址 | 資料 |
|---|---|
. . . | . . . |
| F150 | 20 |
. . . | . . . |
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP