Z-80定址方式
這裡我們將瞭解 Zilog Z-80 微處理器的定址方式。但首先我們將討論 Z-80 的助記符。
眾所周知,Intel 8085 和 Zilog Z-80 之間有很多相似之處,因此我們也可以在指令上找到相似之處。但在 Z-80 中,助記符略有不同。十六進位制程式碼相同,只有助記符不同。因此,如果我們想執行一個用 8085 MPU 編寫的程式,它將正常工作。但是 Z-80 還有許多其他指令,這些指令在 8085 中不可用。
以下是 8085 和 Z-80 的助記符列表,其中十六進位制程式碼相同。
8085 助記符 | Z-80 助記符 |
---|---|
ADI/ACI d8 | ADD/ADC A, d8 |
ADD/ADC M | ADD/ADC A, (HL) |
ADD/ADC r | ADD/ADC A, r |
DAD B/D/H/SP | ADD HL,BC/DE/HL/SP |
SUI d8 | SUB d8 |
SUB M | SUB (HL) |
SBI d8 | SBC A, d8 |
SBB M | SBC A, (HL) |
SBB r | SBC A, r |
CNC/CC/CZ/CNZ/CP/CM/CPO/CPE a16 | CALL C/NC/Z/NZ/P/M/PO/PE a16 |
RNC/RC/RZ/RNZ/RP/RM/RPO/RPE | RET C/NC/Z/NZ/P/M/PO/PE |
JMP a16 | JP a16 |
JNC/JC/JZ/JNZ/JP/JM/JPO/JPE a16 | JP C/NC/Z/NZ/P/M/PO/PE a16 |
PCHL | JP (HL) |
RST 0/1/2/3/4/5/6/7 | RST 0/8/10H/18H/20H/28H/30H/38H |
INR/DCR r/M | INC/DEC r/(HL) |
INX/DCX B/D/H/SP | INC/DEC BC/DE/HL/SP |
CMC/STC | CCF/SCF |
CMP r/M | CP r/(HL) |
CPI d8 | CP d8 |
CMA | CPL |
XCHG | EX DE,HL |
XTHL | EX (SP), HL |
HLT | HALT |
IN a8 | IN A, (a8) |
OUT a8 | OUT (a8), A |
LDA a16 | LD A, (a16) |
STA a16 | LD (a16), A |
LDAX B/D | LD A, (BC)/(DE) |
STAX B/D | LD (BC)/(DE), A |
LHLD a16 | LD HL, (a16) |
SHLD a16 | LD (a16), HL |
MOV r1, r2 | LD r1, r2 |
MOV M, r | LD (HL), r |
MVI r/M, d8 | LD r/(HL), d8 |
LXI B/D/H/SP, d16 | LD BC/DE/HL/SP, d16 |
SPHL | LD SP, HL |
PUSH/POP B/D/H/PSW | PUSH/POP BC/DE/HL/AF |
RAL/RLC/RAR/RRC | RLA/RLCA/RRA/RRCA |
現在,我們將瞭解 Z-80 微處理器的定址方式。
立即定址方式
在這種模式下,操作碼後面的位元組是實際的運算元。因此,當我們將某些內容直接儲存到某個暫存器中時,這將是立即定址模式的一個示例。
擴充套件立即定址方式
它與立即定址模式相同;唯一的區別是它在操作碼之後採用 16 位資料作為輸入。要將某些資料儲存到某個暫存器對中,我們將使用這種定址模式。
修改後的頁面零定址方式
在這個微處理器中,對於記憶體頁面零中的八個位置中的任何一個,都有一個 1 位元組的 CALL 指令。它就像重啟操作。它將程式計數器設定為頁面零中的有效地址。
相對定址方式
在這種模式下,提供 1 位元組資料來確定程式跳轉到的現有程式的偏移量。偏移量是有符號的 2 的補碼。
擴充套件定址方式
在這種模式下,可以在操作碼之後使用 2 位元組資料。這些位元組可以是跳轉指令的地址,也可以是儲存資料的地址。
索引定址方式
在這種模式下,操作碼後面的位元組包含偏移量,該偏移量將新增到兩個索引暫存器之一(由指令指定的 IX 或 IY)以生成指向記憶體的指標。這裡偏移量也是有符號的 2 的補碼。
暫存器定址方式
一些指令直接使用 CPU 暫存器進行操作。然後使用暫存器定址模式。例如,如果要將暫存器 B 的內容載入到暫存器 C 中,則必須使用屬於此模式的指令。
隱含定址方式
隱含定址模式指的是操作碼自動選擇一個或多個 CPU 暫存器來執行某些操作的操作。例如,對於算術或邏輯運算,操作碼選擇累加器(暫存器 A)作為結果的目標。
暫存器間接定址方式
當指令使用 16 位暫存器對時,該暫存器對儲存記憶體中某些值的地址,那麼這種指令就屬於暫存器間接定址模式。
例如,在不同情況下,我們使用 HL 對來儲存一些地址,當我們想要更新 HL 對儲存的地址中所處的資料時,我們使用暫存器間接模式。
位定址方式
在 Z-80 MPU 中,有一些位設定、復位、測試指令。使用此模式,它可以透過**暫存器、暫存器間接**或**索引**定址模式為位操作選擇任何記憶體位置或 CPU 暫存器。