Definisi dan
Struktur Bahasa Assembly
Definisi :
Pemrograman adalah sekumpulan instruksi yang ditulis
dengan format tertentu ( bahasa pemrograman ) yang bila diekskusi oleh
Mikroprosessor tersebut akan melaksanakan fungsi tertentu dengan hasil yang
dapat diperkirakan.
Str Struktur
Instruksi Bahasa Assembly
Instruksi
dalam bahasa Assembly dibagi menjadi 3 :
► Operation Code ( Opcode
)
► Source Operan ( Sumber
)
►Destination Operan (
Tujuan )
Contoh :
Instruksi
tersebut berarti :
Pindahkan isi
dari register 8 bit H ke register 8 bit A yang akhirnya, isi register H dan A
akan sama.
Beberpa
contoh Opcode :
- MOV ( pindahkan/kopikan ) - CMP
( bandingkan )
- PUSH ( Memasukkan ) - DEC ( kurangi )
- POP ( Mengambil ) - INC ( tambahkan )
- LEA ( Load Effective Addres - ROTATE ( putar )
=mengambil alamat )
- ADD ( jumlahkan )
Masing-masing opcode akan memaksa computer untuk beroperasi
sesuai yang diinginkan pemrogram.
Opcode ditulis dalam bentuk
khusus yang disebut Mnemonic.Dengan mnemonic maka kita dapat dengan
mudah mengingat fungsi dari Instruksi.
Opcode
biasanya disertai dengan operand. Umumnya ada dua Operan :
Source
dan Destination.
Kadang
–kadang beberapa Opcode tidak
membutuhkannya, kadang kadang Cuma satu, atau tidak.
Obyect Code
Apabila
kita menulis program dalam Bahasa Assembly, maka kita akan menggunakan mnemonic
seperti diatas. Mnemonic hanya untuk pemrogram, tetapi bukan untuk
Mikroprosesor. Yang dibutuhkan mikroprosesor adalah bentuk yang dikenal sebagai
Obyect Code. Sedangkan
program dalam bentuk mnemonic disebut sebagai Source Code.
Contoh :
Source Code Obyect
Code Biner
Mov A, B 78h 0111 1000
Mikrokomputer akan membaca
instruksi dalam bentuk biner di memori dan mengekskusinya.
- Cara Assembly Suatu Program
Cara assembly suatu Program tampak pada gb. A ( secara umum ). Sedangkan
bila menggunakan komputer tampak seperti Gb. B
Flowchart
Untuk
membuat program yang systemmatik maka disarankan untuk menggunakan flowchart,
baru kemudian diubah menjadi bahasa Assembly.
Flowchart juga dibagi atas 3
tipe dasar
► 1. Tipe langsung ( straight type )
► 2. Tipe cabang ( branch type )
► 3. Tipe loop
Tipe Langsung
adalah tipe yang paling sederhana yaitu urutan proses dari atas ke bawah.
Tipe
Cabang , aliran proses berubah berdasarkan perubahan kondisi. Kondisi tersebut
di cek menggunakan register Flag F.
Tipe
Loop digunakan untuk proses berulang, yang paling banyak dipakai. Untuk
menerapkan tipe ini langkah-langkah berikut diperlukan :
1.
Setting awal
2.
Proses berulang
3.
Cek kondisi untuk keluar dari Loop
4.
Proses setelah berulang
LISTING PROGRAM
Address
|
Machine
Code
|
Label
|
Opcode
|
Operan
|
Coment
|
|
|
|
ORG
|
100H
|
|
|
|
M1
|
EQU
|
0050H
|
|
|
|
CNT
|
EQU
|
20H
|
|
0000
|
0620
|
|
MOV
|
B,CNT
|
;B<-20H
|
0002
|
3EEE
|
|
MOV
|
A,EEH
|
;A<-EEH
|
0004
|
215000
|
|
MOV
|
HL,M1
|
;HL<-0050H
|
0007
|
77
|
LOOP:
|
MOV
|
(HL),A
|
;(HL)<-A
|
0008
|
23
|
|
INC
|
HL
|
;HL=HL+1
|
0009
|
05
|
|
DEC
|
|
;B=B.1
|
000A
|
20FB
|
|
JR
|
NZ,LOOP
|
;IF B>0 GOTO LOOP
|
000C
|
76
|
|
HALT
|
|
;IF B<0 CPU
;HALTED
|
000D
|
|
|
END
|
|
|
|
|
|
|
|
|
;------------------------------------------------------------------------------------------------;
TITLE Nama_Program ;
judul program
Kounter Lokasi
Direktif ( IP )/pengarah
ORG 100h ; program dimulai dari alamat offset
;
100h
AWAL : JMP Mulai
……… …….. ;
……… …….. ;
Mulai : ……… …….. ;
……… …….. ;
……… …….. ; baris baris Instruksi
……… …….. ; ( batang tubuh )
……… …….. ;
Proc_ku PROC Near/Far ;
…….. ……… …….. ;
…….. ……… …….. ; tempat prosedur (bila
ada)
…….. ……… …….. ;
Proc_ku ENDP ;
Segmen_kuENDS ;
akhir dari segment
END AWAL ;
Akhir program
;-------------------------------------------------------------------------------------------------------------------------;