Kamis, 09 Agustus 2012

Tentang Bahasa Asembler

Bahasa Asembler adalah bahasa pemrograman tingkat rendah. Setiap microprocessor atau microcontroller mempunyai perintah yang berbeda-beda, namun mempunyai bagian-bagian yang mirip. Bahasa asembler mempunyai beberapa kelebihan dibanding bahasa tingkat tinggi, yaitu sebagai berikut :

  1. setelah dicompile akan memiliki ukuran yang lebih kecil
  2. lebih cepat dieksekusi
  3. lebih hemat dan efisien dalam pemakaian memori
Tetapi juga punya kelemahan, yaitu :
  1. baris program lebih banyak.
  2. sulit melakukan operasi yang kompleks
  3. sulit dipahami ( karena banyaknya baris).
 Struktur bahasa asembler

Code asembler dapat ditulis dengan text editor sederhana, semisal Notepad. Bahasa asembler tidak case sensitive, artinya "B" = "b",  Bahasa asembler terdiri dari 4 bagian, yaitu 

1. label atau symbol
Dipakai untuk memberi nama pada sebuah baris-perintah, hal itu agar mempermudah dalam penulisan program. Syarat sebuah label adalah :
  • bisa ditulis apa saja asalkan diawali dengan huruf. 
  • huruf berikutnya boleh merupakan angka atau tanda titik dan tanda garis bawah. 
  • jika sebuah baris-perintah tidak memiliki bagian label, maka bagian ini boleh tidak ditulis namun spasi atau tabulator sebagai pemisah antara label dan bagian berikutnya mutlak tetap harus ditulis.
  • Tidak boleh kembar
Kadang satu baris perintah hanya ada label saja, hal seperti ini berarti baris tersebut hanya untuk dipakai menandai dan tidak akan dieksekusi.
label terkadang disebut juga symbol, jika dipakai dipakai untuk menandai bagian data.

2. Bagian Kode Operasi
Bagian ini smerupakan bagian perintah yang harus dilakukan oleh processor kadang disebut OpCode, singkatan dari Operation Code. Ada dua macam kode operasi, 
  1. kode-operasi untuk mengatur kerja mikroprosesor / mikrokontroler. 
  2. Jenis kedua dipakai untuk mengatur kerja program assembler, sering dinamakan sebagai assembler directive.
Jenis pertama yaitu Kode-operasi ditentukan/dibuat oleh pabrikan microprocessor/ mikrocontroller. Karena itulah kadang-kadang kode-operasi tiap microprocessor/ mikrocontroller berbeda karena berbeda pabrikan, misal microcontroller PIC dengan atmel. Kode-operasi ditulis berbentuk mnemonic, yaitu singkatan yang mudah diingat misal RET, LCALL, ADD dll. Agar dapat dikenali oleh microprocesor kode yang berbentuk mnemonic tadi perlu diterjemahkan dalam kode-kode binner. Penerjemahan kode tersebut dilakukan oleh program assembler. 

Jenis yang kedua adalah kode operasi yang mengatur kerja dari program assembler, misalnya dipakai untuk membentuk variabel (DS), menentukan letak program dalam memori (ORG), , membentuk tabel dan data konstan (DB, DW) dll.

3. Bagian operand
Operand adalah pelengkap kode operasi, tetapi tidak semua kode operasi memerlukan operand. Terkadang sebuah kode operasi tanpa Operand misalnya "RET". Kode operasi dengan satu operan "JB     P1.1". Kode operasi dengan 2 operand "MOV     A,P2". Kode operasi lebih dari satu operand memakai tanda koma sebgai pemisah.

Operand mempunyi berbagai variasi, bisa menyatakan Register dalam prosesor, bisa berupa nomor-memori (alamat memori) yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di-operasi-kan. Untuk membedakannya dipakai tanda-tanda khusus dalam penulisannya. 

Selain itu operand dapat berupa persamaan matematis sederhana atau persamaan Boolean. Jika hal ini terjadi, kalkulasi akan dilakukan oleh program asembler bukan oleh processor.

 
3. Bagian komentar
Bagian ini merupakan catatan penulis untuk mempermudah pembacaan program. Tidak harus ada. Pemisahnya adalah memakai tanda titik koma.

Berikut contoh sebuah baris program
......
ulang     setb     p1.0     ; kasih nilai high port 1.0
             call    delay    ; panggil sub rutin delay  
........

pada baris pertama

"ulang" merupakan label
"setb" merupakan op-code/ kode oparasi
"p1.0" merupakan operand
"; kasih nilai high port 1.0" merupakan komentar.



 

Tidak ada komentar:

Posting Komentar