8085程式將一個位元組拆分成兩個半位元組
我們將學習如何將一個8位數的兩個半位元組分開。
問題陳述
編寫8085組合語言程式,將一個8位數的兩個半位元組分開。數字儲存在F050處,我們將結果儲存在F051和F052處。
討論
為了分別獲得半位元組,我們首先將數字作為副本複製到B暫存器中。現在遮蔽高半位元組以獲得低半位元組並將其儲存,然後再次從B中取出數字,遮蔽低半位元組以獲得高半位元組,然後將其旋轉四次以使其成為低位半位元組,之後將其儲存到另一個位置。
輸入
地址 | 資料 |
---|---|
F050 | 35 |
地址 | 資料 |
---|---|
F050 | BE |
流程圖
程式
地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
---|---|---|---|---|
F000 | 3A, 50 F0 | | LDA F050 | 將記憶體中的數字取到累加器 |
F003 | 47 | | MOV B,A | 將累加器中的數字儲存到B |
F004 | E6, 0F | | ANI 0F | 累加器與0F進行與運算以獲得低半位元組 |
F006 | 32, 52, F0 | | STA F052 | 將低半位元組儲存到記憶體 |
F009 | 78 | | MOV A,B | 將主要數字從B載入到A |
F00A | E6, F0 | | ANI F0 | 累加器與F0進行與運算以獲得高半位元組 |
F00C | 07 | | RLC | 將累加器左移 |
F00D | 07 | | RLC | 將累加器左移 |
F00E | 07 | | RLC | 將累加器左移 |
F00F | 07 | | RLC | 將累加器左移 |
F010 | 32, 51, F0 | | STA F051 | 將高半位元組儲存到F051 |
F013 | 76 | | HLT | 結束程式 |
輸出
地址 | 資料 |
---|---|
F051 | 03 |
F052 | 05 |
地址 | 資料 |
---|---|
F051 | 0B |
F052 | 0E |
廣告