Pengalamatan Langung
Pengalamatan langsung dilakukan dengan memberikan nilai ke suatu register secara langsung, Untuk melaksanakan hal tesersebut digunakan tanda #. Operand yang digunakan pada pengalamatan langsung /immediate data dapat berupa bilangan bertanda mulai 256 hingga +256.
Contoh :
MOV A,#25H ;Isi akumulator dengan bilangan 25H
MOV DPTR, #20H :isi register DPTR dengan bilangan 20H
MOV R1,10H : ; isi register R1 dengan 10H
MOV A,#-1 ; sama dengan MOV A,#0FFH
; karena 00H 1 menjadi FFH
Pengalamatan Tak Langung
Pada pengalamatan ini, operand menunjuk ke sebuah register yang berisi lokasi alamat memori yang akan digunakan dalam operasi. Untuk melaksanakan pengalamatan tak langsung digunakan symbol @. Pengalamatan jenis ini biasa digunakan untuk melakukan penulisan, pemindahan atau pembacaan beberapa data dalam lokasi memori. AT89C51 mempunyai sebuah register 16 bit (DPTR) yang dapat digunakan untuk melakukan pengalamatan tidak langsung.
Contoh :
ADD, A,R1 ;Tambahkan isi RAM yang lokasinya ditunjukkan oleh register R1
; ke akumulator
DEC @R1 ;Kurangi satu isi RAM yang alamatnya ditunjukkan oleh R1
MOVX, ADPTR, A :Pindahkan isi dari akumulator ke memori luar yang
; lokasinya ditunjukkan oleh data pointer (DPTR)
Pengalamatan Data
Pengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan alamat dari data yang akan diisi atau yang akan dipindahkan.
Contoh :
MOV P1,A ;isi P1 dari Akumulator
MOV P2,FFH ;isi P2 dengan nilai FFH
Pengalamatan Kode
Pengalamatan kode terjadi ketika operand merupakan alamat dari instruksi JUMP dan CALL. Berikut contoh ACALL yang memanggil label Tunda, sehingga akan melompat ke lokasi memori bernama Tunda.
Contoh :
ACALL Tunda
TUNDA:
MOV A,#FEH
LOOP:
DJNZ A, LOOP
RET
Pengalamatan Bit
Pengalamatan bit ialah penunjukkan alamat lokasi bit baik dalam RAM internal atau perangkat keras menggunakan symbol titik (.).
Contoh :
SETB P1.7 ; Set bit port 1.7 aktif
SETB TR1 : Set TR1 (Timer 1 aktif)
SETB RXD ; memberikan logika 1 pada kaki RXD yang berada di port 3.0
Operator
Operator digunakan untuk melakukan aksi aritmatika, logika pergeseran bit dan lain-lainnya pada operand .Beberapa operator yang tersedia diantaranya :
Contoh : MOV A, #25H+3H ; sama dengan MOV A,#28H
Contoh :
MOV A, #20H OR 40H ;sama dengan MOV A,#60H
MOV A,#10H AND 31H ;sama dengan MOV A, 10H
Dimana perlu anda perhatikan prioritas dari operator sebagai berikut :
()
HIGH , LOW
Z*/, MOD, SHL , SHR
+, -
EQ, NE, LT, LE, GT, GE,=,<>,<,<=,>,>=
NOT
AND
OR, XOR
Pengarah Pilihan Segmen (Segment Selection Directives)
Ada 5 buah pengarah pilihan segmen yaitu CSEG, BSEG , DSEG ISEG dan XSEG yang menunjukkan salah satu dari 5 buah area memori . Penjelasan dari masing-masing segmen sebagai berikut :
secara pengalamatan bit
dialamati secara tak langsung
sumber : http://www.toko-elektronika.com/tutorial/uc1.html
Tidak ada komentar:
Posting Komentar