Cara kita memindahkan (atau lebih tepatnya menyalin, seperti kita melakukan copy- paste) data dapat disebut dengan addressing mode. Pada mikrokontroler terdapat lima macam addressing mode, yaitu :
1. Direct
Digunakan untuk mengakses data di RAM internal atau SFR
Contoh: * MOV A, 7Eh
Instruksi tersebut akan menyalin data di RAM internal pada alamat 7Eh kedalam register A.
2. Indirect
Digunakan untuk mengakses data di RAM internal atau eksternal, instruksi ini menggunakan bantuan register lain untuk menyebutkan alamatnya.
Contoh: * MOV A, @R2
Instruksi tersebut akan menyalin data di RAM internal pada alamat yang ditunjukkan oleh nilai register R2 kedalam register A.
* MOVX A, @DPTR
Intruksi tersebut akan menyalin data di RAM eksternal pada alamat yang ditunjukkan oleh nilai register DPTR kedalam register A.
3. Register
Digunakan untuk menyalin nilai antar register.
Contoh: * MOV A, R2
Instruksi tersebut akan menyalin nilai dari register R2 kedalam register A .
4. Immediate
Digunakan untuk mengisi register atau alamat RAM internal dengan sebuah nilai.
Contoh: * MOV A, #02h
Instruksi tersebut akan mengisi register A dengan 2.
Digunakan untuk menyalin nilai antar register.
Contoh: * MOV A, R2
Instruksi tersebut akan menyalin nilai dari register R2 kedalam register A .
4. Immediate
Digunakan untuk mengisi register atau alamat RAM internal dengan sebuah nilai.
Contoh: * MOV A, #02h
Instruksi tersebut akan mengisi register A dengan 2.
5. Indexed
Digunakan untuk menyalin nilai pada memori program. Biasanya digunakan untuk look-up tabl~.Menggunakan instruksi MOVC atau "move constant".
Contoh: * MOVC A, @A+DPTR
Instruksi tersebut akan menyalin nilai pada memori program yang alamatnya ditunjukkan oleh hasil penjumlahan nilai register A dan nilai register DPTR.
* MOVC A, @A+PC
Instruksi tersebut akan menyalin nilai pada memori program yang alamatnya ditunjukkan oleh hasil penjumlahan nilai register A dan nilai register PC (Program Counter).
Instruksi tersebut akan menyalin nilai pada memori program yang alamatnya ditunjukkan oleh hasil penjumlahan nilai register A dan nilai register DPTR.
* MOVC A, @A+PC
Instruksi tersebut akan menyalin nilai pada memori program yang alamatnya ditunjukkan oleh hasil penjumlahan nilai register A dan nilai register PC (Program Counter).
Pengaksesan data di RAM internal |
0 comments:
Post a Comment