Bagi yang sudah tahu ini, sekedar berbagi. Dan yang belum tahu baca dan semoga menjadi
manfaat. Posting kali ini saya buat khusus untuk teman-teman yang ingin belajar
Pemrograman Assembly dan berhubung ada salah satu teman saya yang meminta saya untuk
membuat suatu post bagaimana membaca program assembly dengan menggunakan debug.
Jadi, jika kita ingin mencoba untuk memerintah mesin ini secara langsung tanpa perantara
Compiler kita bisa gunakan Bahasa Assembly. Bahasa Assembly pada dasarnya adalah
bahasa mesin yang dibentuk menjadi mnemonik oleh pembuat processor(pabrik). Jadi setiap
perintah(mnemonik) tiap-tiap processor akan berbeda tergantung jenis. Contoh umum yang
dipakai adalah x86 pada INTEL tapi berbeda dengan SPARC yang digunakan pada MAC dari
Apple. Jadi karena pada umumnya kita menggunakan processor INTEL mari kita coba untuk
memerintahkannya dengan program sederhana.
Disini kita akan mencoba membuat sebuah program untuk menampilak sebuah huruf 'A'
dilayar. Jadi disini kita menggunakan sebuah tool yaitu DEBUG.COM, program debug
adalah program bawaan windows. Tapi jika komputer anda menggunakan processor 64bit
anda memerlukan program dosbox agar anda bisa menggunakan program DEBUG.COM.
Dan untuk cara install dosbox dan menggunakannya sudah ada pada post saya sebelumnya.
Langsung kita coba buat programnya :
1. Bukalah Command Prompt Windows anda dengan pilih menu RUN dan ketik CMD dan
klik Ok.
2. Selanjutnya ketik debug dan enter
3. Ketiklah sebuah program seperti perintah pada gambar di bawah ini:
Keterangan:
a100
= adalah perintah pertama saat membuat program dengan debug. Yaitu
untuk memulai program di alamat offset 100
mov ah,02 = fungsinya adlaah memasukkan nilai 02h ke register AH sebagai nilai
service
mov dl,41 = memasukkan nilai 41 ( 'A' ) ke register DL. #ingat jika angka saja
seperti 26 atau 41 ini, artinya angka tersebut adalah desimal. Jadi apapun angka
desimal akan di terjemahkan kedalam kode ASCII. 41 adalah kode desimal ASCII
dari huruf A.
int 21
int 20
rcx
= perintah ini adalah untuk mengetahui dan untuk memperbaiku isi
register cx : ke 8bit
-n opungdebian.com = sedangkan ini adalah untuk memberi nama program yang kita
buat
Begitulah, cuma menampilan 'A' harus dengan program sepanjang itu. Karena kenyataannya
itu adalah yang bisa diartikan oleh processor untuk menampilkan begitu.
Sedikit tambahan :
Keterangan:
==> Perintah "u" digunakan untuk memverifikasikan bahwa program telah di loaded ke
momori. Jadi perintah ini juga berfungsi untu unassemble kemudian menampilkan hasilnya.
-U 100 107 = adalah untuk menampilkan isi program pada offset 100 sampai offset 107.
==> debug selalu meloaded program ke memori pada alamat 100h, kecuali menggunakan
parameter lain seerti TASM, Borland.
Baiklah, mungkin cuma ini saja dulu yang dapat saya bagi tentang membuat program dan
membaca program assembly dengan debug. Tunggu post selanjutnya tentang Pemograman
Assembly. Thank's.