1. Pengertian Bahasa Assembly dan Assembler
Bahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi
yang menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang
mudah diingat. sedangkan assembler adalah suatu program yang dapat menerjemahkan
program bahasa assembly ke program bahasa mesin.
Bahasa Assembly adalah bahasa pemrograman tingkat rendah. Bahasa tingkat
rendah lebih berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung
mengintepretasikan pernyataan-pernyataan program.
Kelebihan Bahasa Assembly:
a. Ketika di-compile lebih kecil ukuran
b. Lebih efisien/hemat memori
c. Lebih cepat dieksekusi
Kesulitan Bahasa Assembly:
a. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding
bahasa tingkat tinggi
b. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak
c. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis.
Dalam program bahasa assembly terdapat 2 jenis yang kita tulis dalam program:
1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi
assembler/compiler untuk menata program).
Assembly Directive Keterangan
EQU Pendefinisian konstanta
DB Pendefinisian data dengan ukuran satuan 1 byte
DW Pendefinisian data dengan ukuran satuan 1 word
DBIT Pendefinisian data dengan ukuran satuan 1 bit
DS Pemesanan tempat penyimpanan data di RAM
ORG Inisialisasi alamat mulai program
2. END Penanda akhir program
CSEG Penanda penempatan di code segment
XSEG Penanda penempatan di external data segment
DSEG
Penanda penempatan di internal direct data
segment
ISEG
Penanda penempatan di internal indirect data
segment
BSEG Penanda penempatan di bit data segment
CODE Penanda mulai pendefinisian program
XDATA Pendefinisian external data
DATA Pendefinisian internal direct data
IDATA Pendefinisian internal indirect data
BIT Pendefinisian data bit
#INCLUDE Mengikutsertakan file program lain
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler dengan
melakukan operasi tertentu sesuai dengan daftar yang sudah tertanam dalam CPU).
Instruksi Keterangan Singkatan
ACALL Absolute Call
ADD Add
ADDC Add with Carry
AJMP Absolute Jump
ANL AND Logic
CJNE Compare and Jump if Not Equal
CLR Clear
CPL Complement
DA Decimal Adjust
3. DEC Decrement
DIV Divide
DJNZ Decrement and Jump if Not Zero
INC Increment
JB Jump if Bit Set
JBC Jump if Bit Set and Clear Bit
JC Jump if Carry Set
JMP Jump to Address
JNB Jump if Not Bit Set
JNC Jump if Carry Not Set
JNZ Jump if Accumulator Not Zero
JZ Jump if Accumulator Zero
LCALL Long Call
LJMP Long Jump
MOV Move from Memory
MOVC Move from Code Memory
MOVX Move from Extended Memory
MUL Multiply
NOP No Operation
ORL OR Logic
POP Pop Value From Stack
PUSH Push Value Onto Stack
RET Return From Subroutine
RETI Return From Interrupt
RL Rotate Left
RLC Rotate Left through Carry
RR Rotate Right
4. RRC Rotate Right through Carry
SETB Set Bit
SJMP Short Jump
SUBB Subtract With Borrow
SWAP Swap Nibbles
XCH Exchange Bytes
XCHD Exchange Digits
XRL Exclusive OR Logic
PENGGUNAAN SOFTWARE
Software untuk membantu memprogram mikrokontroler MCS-51 sudah
banyak tersedia. Untuk mempermudah maka dapat dipilih software yang merupakan
Integrated Development Environment (IDE) yaitu software yang merupakan editor
sekaligus compiler. Bahkan juga ada yang sekaligus debugger dan simulator. Salah
satunya yang digunakan pada training di PRASIMAX adalah Read51.
Berikut beberapa cara penggunaan software.
1. User dapat membuat program sistem single file maupun proyek (beberapa file).
Klik menu File lalu pilih New File.
2. Ketik program di window editing. Software menyediakan syntax highlighting
otomatis, sehingga tiap assembly directive akan diberi warna ungu dan tiap instuksi
akan diberi warna biru.
5. 3. User dapat langsung mengcompile program dengan sekali klik icon Build (F9).
Ketika ada kesalahan maka user dapat langsung ditunjukkan letak dan jenis
kesalahan.
6. 4. User dapat melakukan simulasi software untuk melihat hasil kerja program. Klik
IDE mode (F2).
5. User dapat melakukan debugging, bahkan melihat hasil eksekusi per step (per
baris) terhadap kondisi-kondisi register dan memori di mikrokontroler. Klik Step Into
(F8).
7. Selanjutnya user dapat melakukan download program ke IC mikrokontroler untuk
menguji hasilnya secara real di hardware.
Daftar Pustaka
http://www.mikron123.com/index.php/Tutorial-MCS-51/Pemrograman-AT89S51-
bahasa-Assembly.html
http://www.mikron123.com/index.php/Tutorial-MCS-51/Daftar-Instruksi-Bahasa-
Assembly-MCS-51.html
https://zaifbio.wordpress.com/2013/01/02/pemrograman-bahasa-assembly-assembler/