Mode Pengalamatan EXTENDED

Dalam mode pengalamatan extended, alamat dari operan terkandung dalam dua byte yang mengikuti kode operasi. Pengalamatan extended ini dapat digunakan untuk mengakses semua lokasi dalam memori mikrokontroler termasuk I/O, RAM, ROM, dan EPROM. Karena itu operasi ini membutuhkan tiga byte, satu untuk kode operasi, dan dua untuk alamat dari operan.
0200 C6 03 65 LDA $0365
Pertama CPU akan membaca kode operasi C6 yang menginstruksikan akumulator untuk menggunakan mode pengalamatan extended. Kemudian CPU akan membaca $03 dari lokasi memori $0201dan diterjemahkan sebagai alamat high-order. Setelah itu CPU membaca $65 dari lokasi $0202 dan diterjemahkan sebagai low-order dari alamat. Terakhir, CPU membangun alamat lengkap $0365 dan meletakkannya dalam bus alamat dan kemudian melakukan operasi read sehingga isi memori dengan alamat $0365 akan tersedia dalam bus data. Tabel 5.3 di bawah ini akam memperlihatkan semua instruksi yang dapat digunakan dalam mode pengalamatan extended.
Instruksi-instruksi Mode Pengalamatan EXTENDED
Instruksi
Mnemonic
Add with Carry
Add (without carry)
Logical AND
Bit Test Memory with Accumulator
ADC
ADD
AND
BIT
Compare Accumulator with Memory
Compare Index Register with Memory
Exclusive OR Memory with Accumulator
Jump
CMP
CPX
EOR
JMP
Jump to Subroutine
Load Accumulator from Memory
Exclusive OR Memory with Accumulator
Jump
JSR
LDA
LDX
ORA
Substract with Carry
Store Accumulator in Memory
Store Index Register in Memory
Substract (without borrow)
SBC
STA
STX
SUB
Mode Pengalamatan DIRECT
Mode pengalamatan direct mirip dengan mode pengalamatan extended kecuali bahwa upper byte dari alamat operan selalu dianggap $00. Karena itu, hanya lower-byte dari operan yang diperlukan untuk dimasukkan dalam instruksi. Pengalamatan direct menyebabkan efisiensi alamat dalam 256 byte pertama dalam memori. Area ini dinamakan dengan direct page dan mengandung on-chip RAM dan register I/O. Pengalamatan direct ini efisien bagi memori program dan waktu eksekusi. Dalam mode ini instruksi terdiri dari dua byte, satu untuk kode operasi dan satu lagi untuk alamat operan. Contoh:
0200 B6 E0 LDA $E0
Pertama CPU akan membaca kode operasi $B6 yang menginstruksikan CPU untuk menggunakan mode pengalamatan direct. Kemudian CPU membaca $E0 dari lokasi memori dengan alamat $0201. Harga $E0 ini diterjemahkan sebagai low-order dari alamat dalam direct page ($0000 sampai $00FF). Setelah itu CPU menyusun alamat lengkap $00E0 dengan menganggap high-order byte alamat sebagai $00. Alamat lengkap $00E0 ini kemudian diletakkan dalam bus alamat dan kemudian proses pembacaan data pun dikerjakan. Tabel 5.4 menampilkan semua instrusi yang bisa dikerjakan dengan mode pengalamatan direct ini.
Instruksi-instruksi Mode Pengalamatan DIRECT
Instruksi
Mnemonic
Add with Carry
Add (without carry)
Logical AND
Arithmetic Shift Left
ADC
ADD
AND
ASL
Arithmetic Shift Right
Clear Bit in Memory
Bit Test Memory with Accumulator
Branch if Bit n is Clear
ASR
BCLR
BIT
BRCLR
Branch if Bit n is Set
Set Bit in Memory
Clear
Compare Accumulator with Memory
BRSET
BSET
CLR
CMP
Complement (invert all bits)
Compare Index Register with Memory
Decrement
Exclusive OR Memory with Accumulator
COM
CPX
DEC
EOR
Increment
Jump
Jump to Subroutine
Load Accumulator from Memory
INC
JMP
JSR
LDA
Load Index Register from Memory
Logical Shift Left
Logical Shift Right
Negate (two’s complement)
LDX
LSL
LSR
NEG
Inclusive OR
Rotate Left thru Carry
Rotate Right thru Carry
Substract with Carry
ORA
ROL
ROR
SBC
Store Acuumulator in Memory
Strore Index Register in Memory
Substract (without borrow)
Test for Negative or Zero
STA
STX
SUB
TST

Disponsori Oleh :

Semoga Artikel Mode Pengalamatan EXTENDED Bisa Bermanfaat untuk kita semua.