Dalam pembuatan program pada mikrokontroler, terdapat beberapa jenis mode pengalamatan yang perlu diketahui, mode pengalamatan tersebut antara lain sebagai berikut :
- Pengalamatan Tak Langsung (Indirect Addressing).
Penyebutan mode secara tidak langsung ini digunakan untuk menunjuk data yang berada di dalam memori, kalau memori penyimpan data ini letaknya berubah-ubah sehingga nomor memori tidak disebut secara langsung tapi di-titip-kan ke register lain. Pengalamatan tidak langsung ditandai dengan tanda @ (at).
Contoh.
MOV A,@R0
…………………………
Register serba guna R0 dipakai untuk mencatat nomor memori, sehingga intruksi ini mempunyai makna memori yang nomornya tercatat dalam R0 isinya di-copy-kan ke Akumulator A.
- Pengalamatan Langsung (Direct Addressing).
Penyebutan mode secara langsung ini digunakan untuk menunjuk data yang berada di dalam memori dengan cara menyebut nomor memori tempat data tersebut berada.
Contoh.
MOV A,$30
………………………………..
Data yang berada di dalam memori nomor $30 di-copy-kan ke Akumulator.
- Pengalamatan Segera (Immediate Addressing).
Pengalamatan segera ini menyangkut operasi-operasi dengan suatu nilai konstanta (yang sudah tetap), perintah ini ditandai dengan tanda #.
Contoh.
MOV A,#34H
………………………………….
Data konstan 34H di-copy-kan ke Akumulator A , atau dengan kata lain isi A dengan 34 hexa.
- Pengalamatan Bit.
Pengalamatan bit pada sebuah operasi digunakan untuk mengalamati suatu alamat secara bit.
Contoh.
SETB P1.2
CLR P1.2
………………………………….
Pada intruksi ini memberikan logika ‘1’ pada port 1.2, dan pada intruksi kedua memberikan logika ‘0’ pada port 1.2.
- Pengalamatan Kode.
Pengalamatan Kode merupakan pengalamatan ketika operand merupakan alamat dari intruksi jump dan call (ACALL, JMP, LJMP, dan LCAAL). Biasanya operand tersebut akan menunjuk ke suatu alamat yang telah diberi label sebelumnya .
Contoh.
Acall Delay
…………………………..
Delay :
Mov B,#0FFH
Loop A:
Djnz B,Loop A
Ret
Perintah Acall Delay mempunyai operand yang menunjuk ke label Delay sehingga pada saat perintah ini dijalankan, program akan melompat ke lokasi memori yang diberi label delay.
0 komentar:
Posting Komentar