8085微處理器暫存器程式碼
使用16位地址,8085可以訪問216=64K個儲存位置。由於單個十六進位制數字可以用4位表示,因此在8085中,記憶體地址可以用四個十六進位制數字表示。類似地,為方便起見,我們可以使用二進位制表示法將所有8085 CPU暫存器表示為A、B、C等。8085內部只使用0和1來指定這些暫存器。因此,3位足以表示一個暫存器。下表顯示了8085暫存器的3位暫存器程式碼。
使用3位暫存器程式碼,最多可以指定八個暫存器,因為23=8。另一方面,8085只有七個暫存器。因此請注意,暫存器程式碼110不指定任何暫存器。
暫存器 | 暫存器程式碼 |
---|---|
B | 000 |
C | 001 |
D | 010 |
E | 011 |
H | 100 |
L | 101 |
M | 110 |
A | 111 |
圖 - 8085暫存器的三位暫存器程式碼
使用這些二進位制程式碼,形成助記符對應的十六進位制程式碼。例如
MOV E, H的操作碼 - 為了表示MOV,我們有2位0 1,其餘6位用於表示兩個暫存器(目標和源),每個暫存器3位。即
01 r1程式碼 r2程式碼
所以MOV E, H的十六進位制程式碼為0 1 0 1 1 1 0 0 => 5CHMOV A, B的操作碼 - 為了表示MOV,我們有2位0 1,其餘6位用於表示兩個暫存器(目標和源),每個暫存器3位。即
01 r1程式碼 r2程式碼
所以MOV A, B的十六進位制程式碼為0 1 1 1 1 0 0 0 => 78HMOV E, M的操作碼 - 為了表示MOV,我們有2位0 1,其餘6位用於表示兩個暫存器(目標和源),每個暫存器3位。即
01 r1程式碼 r2程式碼
所以MOV E, M的十六進位制程式碼為0 1 0 1 1 1 1 0 => 5EHMVI E, data的操作碼 - 為了表示MVI,我們有2位0 0,其餘6位用於表示一個目標暫存器和另一個6位組合來表示它是與記憶體相關的操作,用於從記憶體讀取資料。即
00 r1程式碼 1 1 0
所以MVI E, data的十六進位制程式碼為0 0 0 1 1 1 1 0 => 1EH