8085程式演示8位數高低位元組的掩碼操作
在這個程式中,我們將學習如何在8085中掩蓋高低位元組。
問題陳述
編寫8085組合語言程式,對8位數的高低位元組進行掩碼操作。該數字儲存在8000H位置。高低位元組將分別儲存在8001H和8002H位置。
討論
掩碼操作基本上是兩個數字的AND運算。當我們想要掩蓋一個8位數(例如2D(0010 1101))的高位元組時,我們將與0F(0000 1111)進行AND運算,結果將得到0D(0000 1101)。透過與F0(1111 0000)進行掩碼操作,結果將為20(0010 0000)。現在透過右移高位元組,我們將得到02(0000 0010)。
輸入
地址 | 資料 |
---|---|
… | … |
8000 | AB |
流程圖
程式
地址 | 十六進位制程式碼 | 標號 | 助記符 | 註釋 |
---|---|---|---|---|
F000 | 21, 00, 80 | | LXI H,8000H | 初始化HL暫存器對以獲取數字 |
F003 | 7E | | MOV A,M | 將記憶體中的數字取到累加器A |
F004 | 47 | | MOV B,A | 將A暫存器的內容儲存到B暫存器 |
F005 | E6, 0F | | ANI 0FH | 透過掩碼操作獲取低位元組。 |
F007 | 23 | | INX H | 指向下一個位置 |
F008 | 77 | | MOV M,A | 將低位元組儲存到記憶體 |
F009 | 78 | | MOV A,B | 將B暫存器的內容取到A暫存器 |
F00A | E6, F0 | | ANI F0H | 透過掩碼操作獲取高位元組。 |
F00C | 0F | | RRC | 累加器A右移四次 |
F00D | 0F | | RRC | |
F00E | 0F | | RRC | |
F00F | 0F | | RRC | |
F010 | 23 | | INX H | 指向下一個位置 |
F011 | 77 | | MOV M,A | 將高位元組儲存到記憶體 |
F012 | 76 | | HLT | 終止程式 |
輸出
地址 | 資料 |
---|---|
8001 | 0D |
8002 | 02 |
… | … |
廣告