NIM : 13 11 02 42
PRODI : TEKNIK INFORMATIKA
STIKOM ARTHA BUANA
TAHUN 2013
Bagian-bagian dari bahasa Asembli adalah sebagai berikut :
1. Label
Label merupakan
suatu simbol yang didefinisikan sendiri oleh pembuat program untuk menandai
lokasi memori pada area program. Simbol dan label adalah dua
hal yang berbeda. Simbol tidak menggunakan titik dua, sedangkan label harus
diakhiri dengan titik dua.
Contoh :
PAR
EQU 500 ; “PAR” Menunjukan
suatu simbol
; dari nilai 500
MULAI:
MOV
A, #0FFh ; pada label; “Mulai” nilai
0FFh
; dipindahkan ke Akumulator
Dalam satu baris hanya ada satu label, pada umumnya
Assembler membatasi jumlah karakter yang bisa digunakan hingga 31 karakter.
2. Mnenonik
Mnemonic instruksi
atau pengarah Assembler dimasukan dalam “Mnemonic field” yang mengikuti
“label mnemonic”.Mnemonic instruksi misalnya ADD, MOV, INC
dan lain-lain.Sedangkan pengarah Assembler misalnya ORG, EQU, DB dan lain-lain.
3. Operand
Operand ditulis setelah mnemonic, bisa berupa
alamat atau data yang digunakan instruksi yang bersangkutan.
Contoh :
MOV
A, #20h ; A dan #20h adalah
operand
LAGI:
JNB
LAGI ; LAGI
adalah operand
4. Komentar
Komentar harus diawali dengan titik koma. Sub rutin dari bagian besar program
yang mengerjakan suatu operasi biasanya diawali dengan blok komentar yang
menjelaskan fungsi sub rutin atau bagian besar program tersebut.
5. End
Petunjuk END merupakan
kode perintah terakhir yang menunjukan batas akhir dari proses Assembly.
Instruksi yang sering digunakan dalam pembuatan
program yaitu :
a. Instruksi Aritmatik
Instruksi aritmatik selalu melibatkan akumulator dan ada juga beberapa
instruksi yang melibatkan register lain.
Berikut ini contoh instruksi–instruksi arimatika
yaitu:
Tabel 2.4 Instruksi-instruksi Aritmatik
Instruksi
|
Keterangan
|
Contoh
|
ADD A,Rn
|
Menambah isi register Rn dengan isi akumulator lalu
disimpan di akumulator
|
ADD A,R1
|
ADD A, direct
|
Menambah isi direct dengan
akumulator, hasilnya disimpan di akumulator
|
ADD A, 30H
|
ADD A, #data
|
Menambahkan immediate data ke
akumulator
|
ADD A, #20H
|
ADD A, @Rn
|
Menambahkan isi dari alamat yang ditunjuk Rn dengan
akumulator
|
ADD A, @R1
|
ADDC A, #data
|
Menambahkan immediate data ke
akumulator dengancarry
|
ADDC A, #20H
|
SUBB A, Rn
|
Kurangkan isi register Rn dari akumulator
|
SUBB A, R1
|
INC A
|
Tambah isi akumulator dengan 1
|
INC A
|
DEC A
|
Kurangkan isi akumulator denga 1
|
DEC A
|
MUL AB
|
Kalikan isi A dengan isi B, low-byte disimpan
pada akumulator, dan high byte pada B
|
MUL AB
|
DIV AB
|
Bagi isi A dengan isi B. Akumulator menerima hasil
integer pembagian dan B menerima integer sisanya.
|
DIV AB
|
b. Instruksi Logika
Instruksi Logika ini dipakai untuk melakukan operasi logika, yaitu operasi AND
(instruksi ANL), operasi OR (instruksi ORL), operasi Exclusive-OR
(instruksi XRL), operasi clear (instruksi CLR), instruksi
komplemen (instruksi CPL), operasi penggeseran kanan atau kiri (instruksi RR,
RRC, RL dan RLC) serta operasi penukaran data (instruksi SWAP). Data yang
dipakai dalam operasi ini biasanya berupa data yang berada dalam
akumulator atau data yang berada dalam memori data.
c. Instruksi Pemindahan Data
Instruksi – instruksi pemindahan data adalah :
Tabel 2.5 Instruksi – instruksi Perpindahan Data
Instuksi
|
Keterangan
|
Contoh
|
MOV A, Rn
|
Memindahkan isi register Rn ke akumulator
|
MOV A, R0
|
MOV A,direct
|
Memindahkan isi direct byte ke
akumulator
|
MOV A, 30h
|
MOV A , #data
|
Mengisi akumulator dengan nilai data
|
MOV A,#20h
|
MOV A, @Rn
|
Mengisi akumulator dengan isi dari alamat yang
ditunjuk oleh Rn
|
MOV A, @R0
|
2.2.2 Mode – Mode Pengalamatan
1. Mode Pengalamatan
Langsung
Dalam pengalamat langsung nilai yang akan disimpan dalam suatu memori diperoleh
secara langsung dengan mengambil dari lokasi memori yang lain.
Contoh :
MOV
A,30H ; isi akumulator dengan
bilangan 30 heksadesimal
2. Mode Pengalamatan
Tak Langsung
Dalam pengalamatan tak langsung, instruksi menentukan suatu register yang
digunakan untuk menyimpan alamat operan
Contoh :
ADD
A,R ; Tambahkan isi RAM yang
lokasinya ditunjukan oleh register R1 ke akumulator.
DEC @R1 ; Kurangi
satu isi RAM yang alamatnya
ditunjukan
oleh register R1.
3. Mode Pengalamatan
Segera
Cara ini menggunakan konstanta.
Contoh :
MOV A,#20H ; isi akumulator dengan
bilangan 20 heksadesimal
Data konstanta merupakan data yang menyatu dengan
instruksi, contoh intruksi diatas mempunyai arti bahwa data konstantanya, yaitu
20H, (sebagai data konstanta harus diawali dengan ’#’ dan tanda H untuk
menyatakn format bilangan heksadesimal) disalin ke Akumulator (A).
4. Mode Pengalamatan
Data
Pengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan
alamat data yang akan diisi atau yang akan dipindahkan.
Contoh :
MOV
P1,A ; isi P1
dari nilai akumulator.
5. Mode Pengalamatan
Bit
Pengalamatan bit adalah penunjukkan menggunakan simbol titik (.) yang menunjuk
alamat lokasi bit, baik dalam RAM internal atau perangkat keras.
Contoh :
SETB P1.7 ; set
bit port 1.7 high ( pot 1.7 diberi nilai logika 1)