6800程式設計師視角
在本節中,我們將瞭解摩托羅拉M6800微處理器的基本架構,以及向其中寫入程式的不同暫存器。
要編寫程式,我們必須注意暫存器和一些在程式執行期間訪問它們的指令。
因此,從該圖我們可以看出,有兩個8位累加器A和B,一些16位暫存器(程式計數器PC,索引暫存器IX,堆疊指標SP)和8位標誌暫存器CCR。
累加器A和B在指令集中具有相同的優先順序。在6800中,很少有指令只使用累加器A而不使用B。其中一些是:
ABA(它將A與B相加並將結果儲存到A中),但沒有AAB指令。
類似地,有SBA(從A中減去B並將結果儲存到A中),但沒有SAB指令。
CBA(將B與A比較,並將結果儲存在臨時暫存器中),但沒有CAB指令。
TAP(用於將A傳輸到標誌暫存器CCR),但沒有TBP指令。
TPA(用於將標誌暫存器CCR內容傳輸到A),但沒有TPB指令。
摩托羅拉M6800中的標誌
在M6800中,標誌暫存器用CCR(條件程式碼暫存器)表示。八個位中只有六個標誌位。這些標誌位於暫存器的最低有效位位置。兩個最高有效位始終處於高電平狀態。
標誌暫存器如下所示:
序號 | 標誌及描述 |
---|---|
1 | H 這是半進位標誌。它類似於8085 MPU的輔助進位標誌。 |
2 | IM 此標誌是中斷遮蔽標誌。 |
3 | N 這是負標誌。它類似於8085的符號標誌。 |
4 | Z 這是零標誌,當累加器內容為零時,此標誌將為1。 |
5 | V 這是溢位標誌。 |
6 | Cy 這是進位標誌。 |
在8085 MPU中,有奇偶校驗(P)標誌。該標誌位在此微處理器中被省略,因為它不是很有用。對於IM標誌,當IM為1時,這意味著中斷請求將被遮蔽或停用。因此,即使**IRQ**被啟用,它也將被忽略。但是,如果同時激活了更高優先順序的**NMI**,則將中斷。可以使用CLI(清除中斷遮蔽)指令將IM標誌復位為0。可以使用SEI(設定中斷遮蔽)指令執行逆操作。
廣告