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 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 |