Jumat, 01 November 2013

METODE PENGALAMATAN

METODE PENGALAMATAN
Metode pengalamatan merupakan aspek dari set instruksi arsitekturdi sebagian unit pengolah pusat(CPU) desain yang didefinisikan dalam set instruksi arsitektur dan menentukan bagaimana bahasa mesinpetunjuk dalam arsitektur untuk mengidentifikasi operan dari setiap instruksi.. Sebuah mode pengalamatan menentukan bagaimana menghitung alamat memori yang efektif dari operand dengan menggunakan informasi yang diadakan di registerdan / atau konstanta yang terkandung dalam instruksi mesin atau di tempat lain.
Pada prosesor 8051 terdapat 4 cara pengalamatan, yaitu :
·         Immediate addressing atau instant addressing atau pengalamatan instan.
·         Register addressing atau pengalamatan register.
·         Direct addressing atau pengalamatan langsung.
·        Indirect addressing atau pengalamatan tidak langsung

Pada prosesor 8051, secara garis besar ada 3 macam lokasi data, yaitu RAM internal, ROM internal dan SFR. RAM juga biasa disebut data memory atau memory tempat meletakkan data, sedangkan ROM juga biasa disebut code memory atau memory tempat meletakkan kode instruksi. Tetapi biasanya data yang berupa konstanta ditulis pada ROM internal. Berikut ini adalah contoh mode pengalamatan.

Immediate Addressing.

MOV   50H,#40H       ;masukkan ke RAM alamat 50H data 40H
Kode instruksi di atas adalah contoh mode pengalamatan instan. MOV adalah kode operasi atau opcode (operation code) untuk menyalin data ke lokasi tertentu. 50H adalah operand pertama, sedangkan 40H adalah operand kedua. Operand adalah data atau lokasi data yang dilibatkan dalam eksekusi instruksi.
Operand pertama ditulis tanpa tanda ‘#’ artinya angka 50H merupakan alamat memory, dalam hal ini RAM, sedangkan operand kedua diawali dengan tanda ‘#’ yang berarti instan, maksudnya data yang akan dilibatkan telah tersedia pada instruksi tsb, yaitu angka 20H. Pada mode pengalamatan instan, biasanya operand kedua berupa konstanta, sedangkan operand pertamanya dapat berupa alamat RAM internal, register atau SFR. Contoh lain untuk mode pengalamatan instan, misalnya :
            MOV   R5,#40H                     ;masukkan data 40H ke R5
            MOV   TMOD,#01010001B   ;masukkan data 01010001 ke register TMOD
            ADD   A,#12                          ;A = A + 12

Register Addressing.
            MOV   50H,R4            ;salin isi R4 ke RAM alamat 50H.
Kode instruksi di atas merupakan contoh mode pengalamatan register, operand 2 berupa register, dalam hal ini R4. Data yang akan dilibatkan dalam operasi ini berada di dalam R4. Sedangkan operand 1 dapat berupa RAM maupun SFR.
Dalam pemrograman 8051, tidak dimungkinkan penulisan kode program yang melibatkan 2 register. Tetapi karena alamat register dapat diganti dengan alamat RAM internal, maka ada cara lain untuk melibatkan 2 register dalam 1 kode instruksi. Berikut ini adalah beberapa contoh lain mode pengalamatan register.
MOV   04H,R3            ;sama dengan MOV     R4,R3 untuk Register Bank 0
MOV   0BH,R3           ;sama dengan MOV     R4,R3 untuk Register Bank 1

Direct Addressing.
            MOV   50H,40H          ;salin isi RAM alamat 40H ke RAM alamat 50H.
Kode instruksi di atas adalah contoh mode pengalamatan langsung. Data yang akan dilibatkan dalam operasi instruksi berada di dalam RAM internal, dalam contoh ini RAM alamat 40H. Direct address bukan hanya meliputi RAM internal tetapi juga SFR, baik operand pertama maupun operand kedua dapat berupa lokasi RAM maupun SFR. Berikut ini adalah contoh lain pengalamatan langsung,
            MOV   A,P1                ;isi Port 1 disalin ke accumulator
            MOV   40H,TL0          ;low-byte dari Timer 0 disalin ke RAM internal alamat 40H
            MOV   P2,50H            ;menyalin isi RAM internal alamat 50H ke Port 2
Indirect Addressing.
            MOV   R1,#40H         ;mengisi R1 dengan nilai 40H
MOV   A, @R1           ;menyalin isi RAM yang alamatnya tersimpan di R1
                                    ;yaitu RAM alamat 40H ke accumulator.
INC     R1                   ;isi R1 ditambah 1
MOV   P1,@R1          ;menyalin isi RAM alamat 41H ke Port 1.

Kode instruksi di atas adalah contoh mode pengalamatan tak langsung, di mana salah satu operandnya berupa RAM internal yang alamatnya tersimpan di R1. Register yang digunakan untuk operasi pengalamatan tak langsung hanyalah R0, R1 dan DPTR.
            Pada contoh di atas, R1 diisi angka 40H, setelah itu isi R1 dijadikan penunjuk alamat RAM internal, sehingga instruksi kedua merupakan perintah untuk menyalin isi RAM internal alamat 40H ke dalam accumulator. Instruksi ketiga adalah instruksi untuk menambah satu isi R1, sehingga sekarang isi R1 adalah angka 41H.


Sumber:
wikipedia.org
ihsanto eko, mikroprosesor, pusat pembangunan bahan ajar 

Tidak ada komentar:

Posting Komentar