• Breaking News

    Panduan dan Tutorial Lengkap serta Materi Pelajaran di Mulyono Blog. Konten Terlengkap dan Terpercaya

    Rabu, 31 Agustus 2011

    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