Saturday, March 18, 2017

Bahasa Assembly

Pengertian Bahasa Assembly 

Bahasa Pemrograman Generasi Kedua Adalah Bahasa Assembly. Bahasa Rakitan (Bahasa Inggris: Assembly Language) Adalah Bahasa Pemrograman Komputer Tingkat Rendah. Bahasa Assembly Merupakan Notasi Untuk Bahasa Mesin Yang Dapat Dibaca Oleh Manusia Dan Berbeda-Beda Tergantung Dari Arsitektur Komputer Yang Digunakan.
Berbeda Dengan Bahasa Pemrograman Tingkat Tinggi, Bahasa Assembly Atau Rakitan Biasanya Memiliki Hubungan 1-1 Dengan Instruksi Bahasa Mesin. Misalnya, Tiap Julukan (Mnemonic) Yang Ditulis Di Program Dengan Bahasa Rakitan Akan Diterjemahkan Menjadi Tepat Satu Kode Operasi Yang Dapat Dimengerti Langsung Oleh Komputer. Pada Bahasa Tingkat Tinggi, Satu Perintah Dapat Diterjemahkan Menjadi Beberapa Kode Operasi Dalam Bahasa Mesin. Proses Pengubahan Bahasa Rakitan Ke Bahasa Mesin Dilakukan Oleh Assembler, Dan Proses Balikannya Dilakukan Oleh Disassembler.
Setiap Arsitektur Komputer Memiliki Bahasa Mesin Yang Berbeda-Beda Sehingga Bahasa Rakitannya Pun Berbeda-Beda.(Dna)
Pemrograman AT89S51 Bahasa Assembly
Bahasa Assembly Adalah Bahasa Pemrograman Tingkat Rendah. Dalam Pemrograman Komputer Dikenal Dua Jenis Tingkatan Bahasa, Jenis Yang Pertama Adalah Bahasa Pemrograman Tingkat Tinggi (High Level Language) Dan Jenis Yang Kedua Adalah Bahasa Pemrograman Tingkat Rendah (Low Level Language).

Bahasa Pemrograman Tingkat Tinggi Lebih Berorientasi Kepada Manusia Yaitu Bagaimana Agar Pernyataan-Pernyataan Yang Ada Dalam Program Mudah Ditulis Dan Dimengerti Oleh Manusia. Sedangkan Bahasa Tingkat Rendah Lebih Berorientasi Ke Mesin, Yaitu Bagaimana Agar Komputer Dapat Langsung Mengintepretasikan Pernyataan-Pernyataan Program. 

Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori 
3. Lebih cepat dieksekusi 


Kesulitan 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 rumit, misalnya operasi matematis 

Untuk menulis kata kita akan menggunakan beberapa perintah, diantaranya:
-mov ah,02h merupakan nilai servis untuk mencetak karakter.

-mov dl,xxh merupakan register DL yang akan diisi kode ASCII karakter yang akan dicetak, huruf h disini menandakan heksa. Perhatikan tabel dibawah ini!


Untuk mencetak karakter yang diinginkan, carilah karakter ingin dicetak di tabel "Glyph", kemudian ubahlah "xx" di perintah diatas menjadi karakter yang ada didalam tabel "Hex" disampingnya. Misalnya kita ingin mencetak karakter "R", maka perintahnya adalah "mov dl,52h"

-int 21h merupakan perintah untuk mencetak karakter pada register dl diatasnya, perintah int 21h harus diulang untuk setiap karakter yang akan dicetak.

-int 20h merupakan perintah untuk mengakhiri program.

Sebagai contoh, jika kita ingin menulis kalimat "NAMA SAYA", maka perintah yang harus dimasukan adalah:


.model small
.code
org 100h
proses:
mov ah,02h
mov dl,4Eh
int 21h
mov dl,41h
int 21h

mov dl,4Dh
int 21h
mov dl, 41h
int 21h
mov dl, 20h
int 21h
mov dl, 53h
int 21h
mov dl,41h
int 21h
mov dl,59h
int 21h
mov dl,41h
int 21h

int 20h
END proses

Save sebagai asm file kemudian compile-lah menggunakan TASM.exe
Ubahlah file obj yang sudah dibuat menjadi file exe menggunakan TLINK.EXE. setelah selesai, cetaklah karakter anda di command prompt dan tekan enter.

Contoh lain :
Berikut merupakan code menampilkan nama “GUNTUR_DUTA”

.model small
.code
org 100h
proses:
mov ah,02h
mov dl,47h
int 21h
mov dl,55h
int 21h
mov dl,4Eh
int 21h
mov dl,54h
int 21h
mov dl,52h
int 21h
mov dl,5Fh
int 21h
mov dl,44h
int 21h
mov dl,55h
int 21h
mov dl,54h
int 21h
mov dl,41h
int 21h

int 20h
END proses

Jika di output melalui cmd hasilnya sama seperti contoh pertama namun berbeda tulisnanya saja, masih banyak contoh yang lain bisa di lihat pada table di atas tadi,

----------- SELAMAT MENCOBA ------------

1 comments:

Powered by Blogger.