Anda di halaman 1dari 24

TEKNIK

PEMROGRAMAN
BAB IV
Teknik Pemrograman

Proses Mikrokontroller membaca instruksi


di memory adalah membaca kombinasi
biner “0” dan “1” yang telah dirubah oleh
assembler dari source program dalam
bentuk kode-kode mnemonic.

2
Penyusunan source program adalah
merupakan konversi dari
permasalahan yang akan
diselesaikan dengan mikrokontroller.
Dimulai dari merubah permasalahan
ke bentuk flowchart atau algorithma
program, kemudian baru ditulis
program assembler nya.
3
Untuk itu perlu memahami tata
cara penulisan program dalam
aturan yang baku, berikut
diberikan contoh penulisan
source program dengan struktur
yang baku. Selanjutnya dari
source program tersebut
dirubah menjadi kode mesin
(kombinasi “0” dan “1” )

4
STATUS EQU 20H.0 ;Bit 0 dari lokasi 20H
ORG 0H ;Mulai alamat 0000H
MULAI: MOV SP,#60H ;Set Stack Pointer pd 60H
L1: MOV P1,#0AAH ; 1010 1010 B
CALL DELAY
MOV P1,#55H ; 0101 0101 B
CALL DELAY
SJMP L1
END
DELAY: MOV R0,#100
L11: MOV R1,#10
L2: NOP
DJNZ R1,L2
DJNZ R0,L11
RET
5
Label Opcode Operand Comment

Jika diamati, pola


penyusunan program dalam
bahasa assembly adalah
terdiri paling tidak 4 (empat)
kolom,
yaitu:
Label, Operation Code, Operand
dan Comment (komentar)
6
Hasil dari Source Program tersebut
adalah kode-kode Biner yang
selanjutnya diberikan ke memory atau
langsung ke mikrokontroler yang
menggunakan Internal ROM
0000 75 81 60 MULAI: MOV SP,#$60
0003 75 90 AA L1: MOV P1,#$AA
0006 12 00 11 LCALL DELAY
0009 75 90 55 MOV P1,#$55
000C 12 00 11 LCALL DELAY
000F 80 F2 SJMP L1
0011 78 64 DELAY: MOV R0,#$64
dst

7
Assembler Directive
( Pengarah Assembler )
Seperti telah disebutkan sebelumnya,
pengarah assembler merupakan
mnemonic yang akan diproses oleh
Program Assembler. Berikut adalah
pengarah assembler yang biasa
digunakan untuk program – program
assembler.

8
Kontrol Kondisi Assembler

ORG ( Origin )
ORG digunakan untuk menunjukkan
lokasi memori tempat instruksi atau
perintah yang ada di bawahnya disimpan.

Bentuk dari ORG adalah :

ORG ekspresi

9
Contoh :
ORG 2000H
MOV DPTR, #4000H

Di sini, perintah MOV DPTR, #4000H yang


berada di bawah ORG 2000H akan
terletak di alamat 2000H.

10
END

END biasanya diletakkan di akhir baris dari


file program sumber assembly sebagai
tanda akhir pernyataan ( statement ) bagi
program assembler dalam melakukan
proses assembly.

Bentuk dari END adalah :


........
........
........
END

11
USING
Bentuk dari USING adalah :
USING Ekspresi
Pengarah assembler ini digunakan oleh
program assembler ( ASM51 ) untuk
menentukan register bank yang aktif
sehingga lambang – lambang yang
didefinisikan terlebih dahulu oleh program
assembler, seperti AR0 hingga AR7 dapat
menunjuk sesuai dengan alamat yang
ditentukan oleh register bank yang aktif
12
Contoh 1.
Using 3
Push AR7
Perintah Push AR7 yang diawali dengan
using 3 menunjukkan bahwa R7 yang
terletak di Register Bank 3, yaitu 1FH
sehingga setelah dilakukan proses
assembly, perintah tersebut akan
menghasilkan kode operasi yang sama
dengan Push 1FH yaitu C0 1F.
13
Contoh 2.
Using 0
Push AR7

Perintah Push AR7 yang diawali dengan


using 0 menunjukkan bahwa R7 yang
terletak di Register Bank 0, yaitu 07H
sehingga setelah dilakukan proses
assembly, perintah tersebut akan
menghasilkan kode operasi yang sama
dengan Push 07H yaitu C0 07 14
Pengarah assembler ini hanya berfungsi
bagi program assembler untuk
menentukan bank yang aktif saja dan tidak
mengubah nilai bit – bit RS0 dan RS1 di
Register PSW dari MCS-51 sehingga
perlu ditambahkan perintah-perintah yang
mengatur nilai RS0 dan RS1 terlebih
dahulu.
Dengan demikian, mikrokontroler juga
mengenai register bank yang aktif saat itu.

15
Contoh 3.
Using 0
Push AR7
Using 3
Mov R7,#05
Push AR7
Setb RS1
Setb RS0
Mov R7,#00

16
Definisi Lambang
EQU ( Equate )
EQU digunakan untuk mendefinisikan sebuah
simbol atau lambang assembler secara bebas.
Contoh :
Bilangan EQU 50H
Mov A,#Bilangan

Pada perintah di atas, akumulator diisi dengan


konstanta “bilangan”. Konstanta ini telah
didefinisikan sebelumnya dengan nilai 50H
dengan menggunakan assembler directive EQU.
17
SET

Sama dengan pengarah EQU, pengarah


SET digunakan untuk mendefinisikan
lambang assembler secara bebas.
Perbedaan dengan pengarah EQU adalah
pengarah ini dapat didefinisi ulang seperti
pada

18
Contoh berikut:
POINTER SETR0
; Lambang pointer didefinisikan
; sama dengan R0

POINTER SETR1
; Lambang pointer kembali
; didefinisikan sebagai R1
19
BIT
Pengarah Bit digunakan untuk
mendefinisikan suatu lambang yang
menunjuk ke suatu lokasi bit pada memori
yang dapat dialamati secara pengamatan bit.
Contoh :
Flag Bit 0
; Lambang flag menunjukkan ke
; lokasi 0 secara pengamatan bit
20
CODE
Pengarah CODE digunakan untuk
menyatakan alamat yang dilokasikan
dalam area memori program dengan
sebuah lambang. Nilai dari alamat
tersebut tidak boleh melebihi 65535 atau
FFFFH.
Contoh.
RESET CODE 0
EXTIO CODE RESET + (1024 / 16)
21
DATA
Pengarah DATA digunakan untuk menyatakan
secara langsung alamat pada memori internal
dengan sebuah lambang. Alamat yang di mulai
dari 00 hingga 7FH menunjukkan RAM Internal
dan alamat 80H hingga FFH menunjukkan
alamat dari Register Fungsi Khusus.
Contoh :
BUFFER DATA 32H
; Lambang buffer menunjukkan
; alamat 32H
22
IDATA
Pengarah IDATA digunakan untuk
menyatakan alamat RAM Internal dalam
sebuah lambang dengan pengalamatan
tidak langsung. Alamat tersebut dapat
dimulai dari 00 hingga FFH.
Contoh :
BUFFER IDATA 30H
BUFFER2 IDATA BUFFER+1

23
XDATA
XDATA digunakan menyatakan alamat yang
ada pada memori eksternal dalam sebuah
lambang. Nilai dari alamat ini tidak boleh
melebihi 65535 atau FFFFH.
Contoh :
SektorEksternal1 XDATA 2000H
SektorEksternal2 XDATA SektorEksternal1+2000H

24

Anda mungkin juga menyukai