BAHASA ASSEMBLY

Bahasa rakitan atau lebih umum dikenal sebagai Assembly adalah bahasa pemrogramman tingkat rendah yang digunakan dalam pemrograman komputer, mikroprosesor, pengedali mikro, dan perangkat lainnya yang dapat diprogram.

Bahasa rakitan dibandingkan dengan bahasa mesin, bahasa rakitan merupakan representasi atas bahasa mesin yang dirancang agar lebih mudah dipahami oleh manusia. Dengan menggunakan bahasa rakitan, seorang programmer dapat lebih mudah mengingat instruksi-instruksi dengan menggunakan simbol yang lebih dimengerti dibandingkan bila menggunakan simbol mnemonic kode mesin secara langsung.

Bahasa rakitan dibandingkan dengan bahasa tingkat tinggi, bahasa rakitan memungkinkan programmer untuk mengontrol serta memanfaatkan secara penuh kapabilitas yang terdapat atas suatu perangkat keras, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang memiliki banyak keterbatasan dalam pemanfaatan secara penuh suatu perangkat keras.


 KELEBIHAN DAN KEKURANG
  • Kelebihan Bahasa Assembly :
  1. Ketika di-compile lebih kecil ukurannya.
  2. Lebih efisien/hemat memori.
  3. Lebih cepat di eksekusi.
  • Kekurangan Bahasa Assembly :
  1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi.
  2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak.
  3. Lebih sulit dalam melakukan pekerjaan rumut, misalnya operasi matematis.


REPRESENTASI KODE MESIN

Bahasa rakitan menerjemahkan sebuah instruksi rakitan menjadi instruksi mesin, umumnya mekanisme penerjemahan ini bersifat 1-1, karenanya dapat disebutkan pula bahwa setiap instruksi dalam bahasa rakitan merupakan representasi dari instruksi kode mesin.

Contoh Representasi
  • Sebagai contoh, berikut adalah instruksi yang digunakan pada prosesor x86 untuk memindahkan nilai 97 sebesar 8-bit ke dalam register prosesor AL. Kode biner atas instruksi pemindahan adalah 10110 diikuti dengan 3-bit pengenal atas register yang akan digunakan. Pengenal atas register AL dalam hal ini adalah 000. Kemudian, nilai 97 dalam kode biner adalah 01100001, sehingga kode mesin yang digunakan untuk memindahkannya adalah sebagai berikut:
  • 10110000 01100001
  • Kode biner ini dapat diubah agar lebih mudah dibaca manusia dengan mengkonversikannya dalam bilangan heksadesimal sebagai berikut:
  • B0 61
  • Pada instruksi di atas, B0 berarti: 'Pindahkan nilai berikut ke register AL', dan 61 adalah representasi bilangan heksadesimal untuk nilai 01100001, atau 97 dalam bilangan desimal. Bahasa rakitan untuk prosesor Intel menyediakan simbol mnemonic MOV (yang merupakan singkatan dari move) untuk instruksi serupa sehingga kode mesin sebelumnya dapat ditulis dalam bahasa rakitan sebagai berikut:
  • MOV AL, 61h ; Isi register AL dengan nilai 97 (61 hex)
  • Bahasa rakitan memungkinkan programmer menambahkan komentar atas setiap instruksi yang ditulis untuk mempermudah pembacaan dan lebih mudah pemahaman.


MENJALANKAN PROGRAM ASSEMBLY


  • Untuk menjalankan program assembly kita harus memasuki folder assembly menggunakan command prompt. Beberapa fungsi perintah di command prompt antara lain:
          "cd [nama folder]" masuk kedalam direktori.
          "cd.." keluar dari direktori.
          "dir" menampilkan isi direktori.
          "C:" atau "D:" memasuki direktori system C: atau D:.
          "cls" membersihkan layar command prompt.





.model small
Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk memory yang digunakan oleh program kita.

.code
Tanda directive ini digunakan untuk memberitahukan kepada assembler bahwa kita akan mulai menggunakan Code Segment-nya disini. Code segment ini digunakan untuk menyimpan program yang nantinya akan dijalankan.

org 100h
Perintah ini digunakan untuk memberitahukan assembler supaya program pada saat dijalankan(diload ke memory) ditaruh mulai pada offset ke 100h(256) byte.

proses:
Mulai proses assembly.

MOV AH,02h
Nilai servis ntuk mencetak karakter.

MOV DL,'A'
Karakter ASCII yang akan dicetak. Untuk mencetak karakter lain, huruf A dalam tanda petik bisa diubah menjadi karakter lain, tapi tidak boleh lebih dari satu karakter.

INT 21h
Berfungsi untuk mencetak dan menampilkan karakter di layar.

INT 20h
Interupsi 20h berfungsi untuk mengakhiri program dan menyerahkan kendali sepenuhnya kepada Dos.

END PROSES
Mengakhiri proses assembly.


SAVE DAN COMPILE



No comments

Theme images by Petrovich9. Powered by Blogger.