8085程式:求8位數的各位數字之和
在這個程式中,我們將學習如何計算一個8位數的各位數字之和。
問題陳述
編寫一個8085組合語言程式,計算儲存在記憶體地址8000H的8位數的各位數字之和。
討論
為了得到一個8位數的各位數字,我們可以使用掩碼操作。首先,我們將掩蓋高4位,然後是低4位。掩蓋低4位後,我們需要將其右移以使其成為最低有效位。然後,我們可以簡單地將其與已儲存的高4位相加以獲得總和。
輸入
地址 | 資料 |
---|---|
... | ... |
8000 | 8A |
... | ... |
程式
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
F000 | 3A, 00, 80 | LDA 8000H | 將數字載入到A暫存器 |
F003 | 4F | MOV C, A | 將數字複製到C暫存器 |
F004 | E6, 0F | ANI 0FH | 取低4位 |
F006 | 47 | MOV B, A | 將結果儲存到B暫存器 |
F007 | 79 | MOV A, C | 恢復原始數字 |
F008 | E6, F0 | ANI F0H | 取高4位 |
F00A | 0F | RRC | 迴圈右移4位 |
F00B | 0F | RRC | |
F00C | 0F | RRC | |
F00D | 0F | RRC | |
F00E | 80 | ADD B | 將A暫存器與B暫存器相加 |
F00F | 32, 50, 80 | STA 8050H | 將結果儲存到8050H |
F012 | 76 | HLT | 程式結束 |
輸出
地址 | 資料 |
---|---|
... | ... |
8050 | 12 |
... | ... |
廣告