8085程式將8位數轉換為格雷碼
在本程式中,我們將瞭解如何從8位數中找到格雷碼。
問題陳述
編寫8085組合語言程式,將儲存在8000H的8位數轉換為其等效的格雷碼。結果將儲存在8050H。
討論
在本程式中,我們將二進位制轉換為格雷碼。過程很簡單。首先,我們必須將內容向右移位,然後對移位後的內容和實際內容執行異或運算。這樣,我們將得到格雷碼。例如,如果數字是ABH,則二進位制值為(1010 1011),移位後值為(0101 0101) = 55H,現在透過對ABH和55H進行異或運算,結果將為(1111 1110) = FEH
輸入
第一個輸入
地址 | 資料 |
---|---|
... | ... |
8000 | AB |
... | ... |
第二個輸入
地址 | 資料 |
---|---|
... | ... |
8000 | C9 |
... | ... |
第三個輸入
地址 | 資料 |
---|---|
... | ... |
8000 | D5 |
... | ... |
流程圖
程式
地址 | 十六進位制程式碼 | 助記符 | 註釋 |
---|---|---|---|
F000 | 21, 00, 80 | LXI H,8000H | 指向源地址 |
F003 | 7E | MOV A, M | 將記憶體中的數字取到累加器 |
F004 | 37 | STC | 設定進位標誌 |
F005 | 3F | CMC | 對進位標誌取反 |
F006 | 1F | RAR | 累加器內容右移 |
F007 | AE | XRA M | 將記憶體內容與A進行異或 |
F008 | 32, 50, 80 | STA 8050H | 儲存格雷碼 |
F00B | 76 | HLT | 終止程式 |
輸出
第一個輸入
地址 | 資料 |
---|---|
... | ... |
8050 | FE |
... | ... |
第二個輸入
地址 | 資料 |
---|---|
... | ... |
8050 | AD |
... | ... |
第三個輸入
地址 | 資料 |
---|---|
... | ... |
8050 | BF |
... | ... |
廣告