8085程式查詢帶進位的二進位制補碼 | 集2
在這裡,我們將瞭解如何查詢帶進位的二進位制補碼。
問題陳述
編寫 8085 組合語言程式,查詢儲存在 F100 中的數字的二進位制補碼(帶進位),並將結果儲存在 F150 和 F151 中。
討論
在 8085 中,可以使用 CMA 指令對數字進行取反。然後,我們可以加上 01 來使其成為二進位制補碼。當加上 01 時,可能會產生進位。我們將把它儲存到 F151,實際的補碼值將儲存在 F150 中。
輸入
地址 | 資料 |
---|---|
… | … |
F100 | 08 |
… | … |
流程圖
程式
地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
---|---|---|---|---|
F000 | 3A, 00, F1 | | LDA F100H | 將記憶體中的數字載入到 A 暫存器 |
F003 | 2F | | CMA | 獲取反碼 |
F004 | C6, 01 | | ADI 01 | 加 1 |
F006 | 6F | | MOV L,A | 將 A 暫存器儲存到 L 暫存器 |
F007 | 3E, 00 | | MVI A,00H | 清零累加器 |
F009 | 8F | | ADC A | 將 A + A + 進位相加 |
F00A | 67 | | MOV H,A | 將 A 暫存器載入到 H 暫存器 |
F00B | 22, 50, F1 | | SHLD F150 | 將 HL 暫存器對儲存到記憶體 |
F00E | 76 | | HLT | 終止程式 |
輸出
地址 | 資料 |
---|---|
… | … |
F150 | F8 |
F151 | 00 |
… | … |
廣告