TUGAS CONTOH PROGRAM SEDERHANA
MENGGUNAKAN BAHASA ASSEMBLY
D
I
S
U
S
U
N
Oleh :
NAMA : MUHAMAD AMINUDIN
NIM : 18.12.019
JURUSAN : TEKNIK KOMPUTER
AKADEMI BINA SRIWIJAYA PALEMBANG
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
FUNGSI
Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan
alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa
program/aplikasi. Contohnya adalah program yang digunakan oleh kasir di mal-mal atau
swalayan, penggunaan lampu lalu lintas di jalan raya, dll.
Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan dunia, tentang ilmu komputer
dan teknologi dewasa ini. Perkembangannya mengikuti tingginya inovasi yang dilakukan dalam
dunia teknologi. Contoh bahasa pemrograman yang kita kenal antara lain adalah untuk membuat
aplikasi game, antivirus, web, dan teknologi lainnya.
Bahasa pemrograman komputer yang kita kenal antara lain adalah Java, Visual Basic, C++, C,
Cobol, PHP, .Net, dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus
disesuaikan dengan fungsi dan perangkat yang menggunakannya.
Secara umum bahasa pemrograman terbagi menjadi 4 kelompok, yaitu :
Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C)
High Level Language (seperti Pascal dan Basic)
Middle Level Language (seperti bahasa C), dan
Low Level Language (seperti bahasa Assembly)
Program Sederhana Menggunakan Bahasa Assembly
Program dibawah ini berfungsi untuk menampilkan / mencetak 10 buah karakter dengan menggunakan int
21h servis 02.
Listing Programnya adalah sebagai berikut :
.MODEL SMALL
.CODE
ORG 100h
Proses:
MOV AH,02h
MOV DL, 'A'
MOV CX,0fh
Ulangi:
INT 21h
INC DL
LOOP Ulangi
INT 20h
END Proses
Analisa Program :
1. Elemen-elemen Intruksi
2. Format Intruksi
3. Jenis-jenis Intruksi
Mnemonic:
MOV : digunakan untuk mencopy nilai atau angka menuju suatu register, varibel atau
memory
INT : digunakan untuk menghasilkan interupsi
INC : digunakan khusus untuk pertambahan 1
LOOP : digunakan untuk melakukan suatu proses yang berulang ulang
END : digunakan untuk mengakhiri suatu program
4. Alamat Yang Digunakan
a. Register AH
b. Register DL
c. Register CX
5. Penjelasan Program
.MODEL SMALL berfungsi sebagai pemberitahu kepada assembler atau penterjemah
bentuk memori yang digunakan.
.CODE berfungsi sebagai pemberitahu kepada assembler bahwa kita akan mulai
menggunakan code segment-nya disini.
ORG 100h berfungsi sebagai pemberitahu bahwa pada saat program dijalankan
diletakkan mulai pada offset ke 100h.
MOV AH,02h adalah sebuah service dari interupsi 21h yang berfungsi untuk
menampilkan karakter pada layar
MOV DL,'A' maksudnya adalah kita meletakkan karakter 'A' pada register DL
MOV CX,0ah maksudnya adalah untuk melakukan perulangan (looping) sebanyak 0ah
(10 kali)
INT 21h berfungsi sebagai interupsi untuk menampilkan karakter ke layar
INC DL berfungsi sebagai karakter yang kita simpan pada register DL tadi akan
ditambah 1, dan seterusnya ditambah 1 sampai batas perulangan (looping) yaitu 10 kali. Pada listing
diatas karaktek yang pertama dicetak adalah 'A', dan kemudian dilanjutkan increment (INC) 1 lalu dicetak
B, begitu seterusnya sampai berakhir dengan karkter 'J'.
LOOP berfungsi untuk mengulangi kembali ke blok ulangi lalu cetak lagi.
INT 20h Kembali ke DOS
END Proses berfungsi untuk mengakhiri program
Output program akan menampilkan karakter ABCDEFGHIJ