Membuat Program Assembly dengan Debug

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         = Ini adalah perintah untuk mengeksekusi perintah-perintah diatas.
  • int 20         = sedangkan perintah ini adalah untuk menghentikan program
  • 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
  • w               =   untuk menyimpan program
  • g                =  adalah perintah untuh menjalankan 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. 

Comments