8085程式:計算10個數序列中偶數的總數
在這個程式中,我們將學習如何計算一組元素中偶數的數量。
問題陳述
編寫8085組合語言程式,計算資料塊中偶數的數量,其中資料塊大小為10D,資料塊從8000H地址開始。
討論
奇偶數檢查很簡單。我們可以透過檢查最低有效位 (LSB) 來確定一個數是奇數還是偶數。當LSB為1時,該數為奇數,否則為偶數。在這個程式中,我們從記憶體中讀取一個數,然後將其與01H進行與運算。如果結果非零,則該數為奇數,否則為偶數。
輸入
| 地址 | 資料 |
|---|---|
| . . . | . . . |
| 8000 | DA |
| 8001 | 53 |
| 8002 | 26 |
| 8003 | 41 |
| 8004 | 17 |
| 8005 | AC |
| 8006 | 78 |
| 8007 | D8 |
| 8008 | 9C |
| 8009 | 3F |
| . . . | . . . |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 指令 | 註釋 |
|---|---|---|---|---|
| F000 | 21, 00, 80 | LXI H,8000H | 指向起始位元組 | |
| F003 | 0E, 0A | MVI C,0AH | 將計數器初始化為0AH | |
| F005 | 06, 00 | MVI B, 00H | 清除B暫存器 | |
| F007 | 7E | LOOP: | MOV A,M | 從記憶體載入項 |
| F008 | E6, 01 | ANI 01H | A與01H進行與運算 | |
| F00A | C2, 0E, F0 | JNZ SKIP | 如果Z=1,跳轉到SKIP | |
| F00D | 04 | INR B | B加1 | |
| F00E | 23 | SKIP: | INX H | 指向下一個位置 |
| F00F | 0D | DCR C | C減1 | |
| F010 | C2, 07, F0 | JNZ LOOP | 如果Z=0,跳轉到LOOP | |
| F013 | 78 | MOV A, B | 將計數載入到A | |
| F014 | 32, 50, 80 | STA 8050H | 將結果儲存在8050H | |
| F017 | 76 | HLT | 終止程式 |
輸出
| 地址 | 資料 |
|---|---|
| . . . | . . . |
| 8050 | 06 |
| . . . | . . . |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP