Anda di halaman 1dari 10

PPRESENTASI MIKROKONTROLER

Addressing, operasi
pencabangan, &
Sub Rutin
DEWI NAIRANTI
H021 18 1013
SUB MATERI
MATERI:

addressing / pengalamatan
operasi percabangan
sub rutin
addressing
Mode pengalamatan adalah cara memindahkan data
dari alamat asal menuju alamat yang dituliskan dalam
kode mnemonic.
Ada beberapa metode pengalamatan source operand,
yaitu:
a. Register addressing
b. Direct addressing
c. Indirect Addressing
d. Immediate Addressing
Register addressing Direct addressing
Pada mode register addressing maka nama suatu Pada mode pengalamatan langsung, tempat data
register digunakan sebagai satu kesatuan dari yang akan diproses alamatnya ditunjukkan langsung
dalam perintah.
opcode baik sebagai data asal atau data tujuan.
Bentuk format perintah mode Direct Addressing
Format dari intruksi register addressing adalah adalah sebagai berikut:
sebagai berikut:

Contoh :
Contoh: MOV A,80H ; Mengkopi data dari pin-pin port 0 ke
MOV A,R0 ; Mengkopi data dari register R0 ke register A
Accumulator MOV 80H,A ; Mengkopi data dari register A ke pin-pin
port 0
MOV R5,A ; Mengkopi data dari Accumulator ke MOV R0,12H ; Mengkopi data dari alamat RAM 12H ke
register R5 R0
Indirect Addressing
Pada pengalamatan tidak langsung data
yang akan diproses alamat sebenarnya
tidak ditunjukkan secara langsung tetapi
disimpan pada salah satu register
(R0/R1).
Contoh:
MOV @R1,A ; Mengkopi isi A ke alamat di
dalam R1
MOV @R1,35H ; Mengkopi angka 35H ke
alamat di dalam R1
Immediate Addressing

Pada mode ini data merupakan satu kesatuan dalam


intruksi itu sendiri. Bila diberikan perintah, mode
immediate maka secara otomatis Program Counter akan
bertambah menunjuk byte setelah byte opcode.

Contoh:
MOV A,#0FFH ;Mengkopi data FFH ke Accumulator
MOV R4,#1AH ; Mengkopi data 1AH ke register R4
OPERASI
PERCABANGAN
INSTRUKSI PECABANGAN

Sbic ( skip if bit in I/O is cleared ) : Skip jika bit I/O yang diuji
clear
Sbis ( skip if bit in I/O is set ) : Skip jika bit I/O yang diuji set
Sbrc ( skip if bit in register is cleared ) : Skip jika bit dalam
register yang diuji clear
Cp ( compare ) : Membandingkan isi dua register
Mov ( move ) : Meng-copy dua register
INSTRUKSI PECABANGAN

Cpi ( compare with immendiate ) : Membandingkan isi


register dengan konstanta tertentu.
Breq ( branch if equal ) : lompat ke label tertentu jika suatu
hasil perbandingan adalah sama.
Brne ( branch if not equal ) : lompat ke label tertentu jika
suatu hasil perbandingan adalah tidak sama.
Rjmp ( relative jump) : Lompat ke label tertentu.
Rcall ( relative call ) : Memanggil subrutin.
Ret ( return) : Keluar dari sub rutin.
Sub Rutin
sub rutin adalah urutan instruksi program yang melakukan tugas
tertentu, dikemas sebagai satu kesatuan. Unit ini kemudian dapat
digunakan dalam program di mana pun perintah tertentu itu
harus dilakukan. Sub rutin adalah potongan program yang
terdapat pada memori program yang sering digunakan.
Pada mikrokontroler 89C51 subrutin dapat dipanggil dengan
instruksi:
ACALL
LCALL
ACALL dapat memanggil 2K (11 line), sedangkan LCALL
dapat memanggil sampai 64 K. Jika program menjalankan
intruksi ACALL dan LCALL maka memori stack di gunakan
untuk menyimpan data-data alamat yang ditinggalkan. Untuk
kembali ke program utama setelah menjalankan subrutin maka
digunakan intruksi RET.

Anda mungkin juga menyukai