Pengertian Bahasa Assembly

Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C, C++, Pascal, Turbo Basic, Java, dan sebagainya. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Assembler adalah program yang bekerja membantu penulisan instruksi dalam format bahasa inggris sehingga mudah dibaca dan dipahami.   
MOV R0, #02h 
MOV A, #03h 
ADD A, R0 

Perintah baris pertama bekerja menjalankan proses pengisian register R0 dengan data 02h. Perintah baris kedua bekerja menjalankan proses pengisian register A dengan data 03h. Kemudian proses penjumlahan data pada register A dengan  data pada register R0 dijalankan menggunakan perintah ADD A,R0 dan menghasilkan data 05h tersimpan di register A. 
Perintah MOV  dan ADD adalah memonik atau singkatan dari perintah MOVE dan ADD. 
Memonik dari perintah lainnya dapat dirangkum dalam tabel 8 berikut.  

Tabel 8 Memonik Perintah Assembly AT89S51

No
PERINTAH
MNEMONIK
1.
ADD
ADD
2.
ADD  WITH CARRY
ADC
3.
SUB WITH BORROW
SBB
4.
INCREMENT
INC
5.
DECREMENT
DEC
6.
MULTIPLY
MUL
7.
DEVIDE
DIV
8.
AND LOGIC
ANL
9.
OR LOGIC
ORL
10.
EXLUSIVE OR LOGIK
XRL
11.
DECIMAL ADJUST ACCUMULATOR
DAA
12.
CLEAR ACCUMULATOR
CLR A
13.
COMPLEMENT ACCUMULATOR
CPL A
14.
ROTATE ACCUMULATOR LEFT
RLA
15.
ROTATE ACCUMULATOR LEFT THROUGH CARRY
RLCA
16.
ROTATE ACCUMULATOR RIGHT
RRA
17.
ROTATE ACCUMULATOR RIGHT THROUGH CARRY
RRCA
18.
SWAPP NIBBLE WITHIN ACCUMULATOR
SWAP
19.
PUSH DIRECT BYTE KE STACK
PUSH
20.
POP DIRECT BYTE DARI STACK
POP
21.
JUMP IF  CARRY SET C=1
JC
22.
JUMP IF CARRY NOT SET C = 0
JNC
23.
JUMP IF DIRECT BIT SET
JB
24.
JUMP IF DIRECT BIT  NOT SET
JNB
25.
JUMP IF DIRECT BIT SET & CLEAR BIT
JBC
26.
ABSOLUTE CALL
ACALL
27.
LONG CALL
LCALL
28.
RETURN
RET
29.
RETURN FROM INTERRUPT
RETI
30.
ABSOLUTE JUMP
AJMP
31.
LONG JUMP
LJMP
32.
SHORT JUMP
SJMP
33.
JUMP INDIRECT
JMP
34.
JUMP IF ACCUMULATOR ZERRO
JZ
35.
JUMP IF ACCUMULATOT NOT ZERRO
JNZ
36.
COMPARE AND JUMP IF NOT EQUAL
CJNE
37.
DECREAMENT AND JUMP IF NOT ZERO
DJNZ
38.
NO OPERATION
NOP


Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Di dalam mikrokontroler instruksi disimpan dalam kode heksa sehingga sulit dibaca dan dipahami maknanya. Sedangkan bahasa assembly memakai kode mnemonik untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan dalam penulisan program.  

No
OPERATION CODE
ASSEMBLY
1.
78 02
MOV R0, #02h
2.
74 03
MOV A, #03h
3.
28
ADD A, R0

Kode bahasa mesin atau sering disebut dengan operation code dari perintah MOV R0,#02h adalah 78 02. Untuk MOV A,#03h kode operasinya dalah 74 03 dan 28 adalah kode operasi dari perintah ADD A, R0. Kode operasi untuk setiap perintah dapat dibaca pada lembar instruction set. 

Program yang ditulis dengan bahasa assembly terdiri dari label; kode mnemonik, operand 1, operand 2, keterangan, dan lain sebagainya.  Program ini  disebut sebagai program sumber (Source Code). Source code belum bisa diterapkan langsung pada  prosesor untuk dijalankan sebagai program. Source code harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner atau operasi. 

Source code ditulis dengan program editor biasa, misalnya Note Pad pada Windows atau SideKick pada DOS, TV demo,  lalu source code diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Proses menterjemahkan source code menjadi bahasa mesin disebut dengan proses  assembled.  Hasil kerja program Assembler adalah “program objek” dan juga “assemly listing”. 

Program Objek berisikan kode kode operasi bahasa mesin. Biasanya file program objek menguanakan ekstensi .HEX.  Kode-kode operasi bahasa mesin inilah yang dituliskan ke memoriprogram  prosesor. Dalam dunia mikrokontroler biasanya program objek ini diisikan ke UV EPROMatau EEPROM dan khusus untuk mikrokontroler buatan Atmel, program ini diisikan ke dalam Flash PEROM yang ada di dalam chip mikrokontroler AT89S51 atau AT89C2051. 

Assembly Listing merupakan naskah yang berasal dari program sumber, dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber diberi tambahan hasil terjemahan program Assembler. Tambahan tersebut berupa nomor memori-program berikut dengan kode yang akan diisikan pada memori-program bersangkutan. Naskah ini sangat berguna untuk dokumentasi dan sarana untuk menelusuri program yang ditulis. Gambar 22 menunjukkan model editor program assembly dan bagan kerja proses assembly. 

Tidak ada komentar

Diberdayakan oleh Blogger.