Dasar Teori
Debug adalah suatu program yang berguna untuk menguji suatu program
dengan cara melacak instruksi demi instruksi dari awal hingga akhir program.
Setiap eksekusi satu instruksi dapat dilihat perubahan yang terjadi pada isi suatu
memori atau register yang ada hubungannnya dengan instruksi yang telah
dilaksanakan tersebut.
Perintah-perintah yang ada dalam program debug antara lain adalah:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
sesuai.
-a100
mov ah,02
mov dl,41
int 21
;Eksekusi
int 20
;Program dihentikan
rcx
8
ncoba.com
w
q
setelah selesai,untuk membuktikannya silahkan mengetikkan nama file .com yang
telah dibuat tadi.
C:\coba.com
A
C:\
Atau seperti dalam gambar berikut ini
5. Karena mov dl,41 yang merupakan kode ASCII dari A dibuat pada offset
102, maka kita dapat melihat offset 102 yang sudah terisi mov dl,41
seperti pada gambar diatas.
6. Untuk menampilkan huruf B, kode ASCII dari huruf B adalah mov dl,42,
maka kita dapat mengulangi langkah ke-3 dengan mengubah angka pada
mov dl,41 menjadi mov dl,42.
7. Setelah selesai, tekan q untuk keluar dari debug, kemudian ketik nama file
ncoba.com, sehingga akan menampilkan karakter B.
MOV DL, 42
- MOV DL, 42
Setelah mengubah isi register AH kemudian mengisikan register DL dengan kode
ASCII 42 hexa yaitu huruf A besar.
AX=0200 BX=0000 CX=0008 DX=0042 SP=CE2E BP=0000 SI=0000
DI=0000
DS=0B2E ES=0B2E SS=0B2E CS=0B2E IP=0102 NV UP DI PL NZ NA PO
NC
0B2E:0104 CD21
INT 21
Sebuah karakter disertai dengan warna tentunya akan lebih menarik. Untuk
itu anda bisa menggunakan interupsi ke 10h dengan aturan pemakaiannya :
INPUT
AH = 09h
AL = Kode ASCII dari karakter yang akan dicetak
BH = Nomor halaman(0 untuk halaman 1)
BL = Atribut atau warna dari karakter yang akan dicetak
CX = Banyaknya karakter tersebut akan dicetak
Setelah semua register dimasukkan nilainya maka lakukanlah interupsi 10h. Perlu
kita perhatikan bahwa interupsi ini mencetak karakter tanpa menggerakkan
kursor.
1. Langkah pertama adalah menjalankan debug, sama seperti langkah
sebelumnya.
2. Kemudian masukkan set instruksi :
-a100
0B2E:0100 mov ah,09
0B2E:0102 mov al,41
0B2E:0104 mov bh,00
0B2E:0106 mov bl,93
0B2E:0108 mov cl,3
0B2E:010A int 10
0B2E:010C int 20
0B2E:010E
-rcx
CX 0000
:8
-ncoba.com
-RIP
IP 0100
:100
-w
Writing 00008 bytes
-G
AAA
Program terminated normally
-q
Untuk mencetak beberapa karakter, bisa kita gunakan proses looping atau
pengulangan. Contoh :
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
; PROGRAM : ABC0.ASM ;
; FUNGSI : MENCETAK 16 BUAH ;
; KARAKTER DENGAN ;
; INT 21h SERVIS 02 ;
;==========================Sto=;
.MODEL SMALL
.CODE
ORG 100h
Proses :
MOV AH,02h
; Nilai servis
MOV DL,'A'
; DL=karakter 'A' atau DL=41h
MOV CX,10h
; Banyaknya pengulangan yang akan
Ulang : INT 21h
; Cetak karakter !!
INC DL
; Tambah DL dengan 1
LOOP Ulang
; Lompat ke Ulang
INT 20h
END Proses
Bila program dijalankan maka akan ditampilkan ABCDEFGHIJKLMNOP,
Perintah INC DLakan menambah register DL dengan 1, seperti intruksi
,DL:=DL+1 dalam Pascal. Contoh diatas adalah menggunakan asm yang
dicompile sehingga menjadi .obj,.com dan .exe, untuk menjalankan program
diatas dengan debug, langkah-langkahnya adalah sebagai berikut :
1. Menjalankan debug melalui Windows + Run / command prompt
2. Kemudian ketikkan perintah debug untuk memulai program debug
3. Selanjutnya masukkan perintah :
C:\Users\habdi_rizki>debug
-a100
0B38:0100 mov ah,02
; mengisikan nilai 02 ke register AH
0B38:0102 mov dl,41
; memasukkan kode ASCII huruf A
0B38:0104 mov cl,a
; mengatur banyaknya pengulangan
0B38:0106 int 21
; untuk mencetak karakter
0B38:0108 inc dl
; tambah nilai dl dengan 1
0B38:010A loop 0106
; ulangi offset 0106
0B38:010C int 20
; menghentikan program .com
Menampilkan karakter dalam DEBUG
Bahasa Assembly
Instrumentasi & Otomasi Industri
0B38:010E
Kemudian periksa panjang program dengan perintah RCX, dan akan
terlihat sebagai
berikut:
-RCX
CX 0000
:8
Isi kursor dengan angka 8 kemudian Enter. Beri nama program
dengan perintah N
(Name) yang bernama coba.com, seperti berikut:
-ncoba.com
Lihat kembali awal program dengan perintah RIP, apakah berisi
0100, jika tidak maka
isilah dengan angka tersebut:
-RIP
IP 0108
:100
Gunakan perintah W (Write) untuk menulis ke disk computer, seperti
contoh dibawah ini:
-w
Writing 0008 bytes
Untuk memproses program (compile) gunakan perintah G (Go).
-g, maka langsung akan ditampilkan
ABCDEFGHIJ
Program terminated normally
Output program tersebut adalah huruf A J,sesuai dengan loop yang telah
diatur,karena pengulangan diisi dengan nilai A, artinya pengulangan hanya
berlaku 10 kali, jika diisi dengan nilai F, maka pengulangan akan
dilakukan sebanyak 15 kali (operasi dilakukan dalam bilangan heksa).
Program terminated normally, artinya bahwa program berhenti secara
normal.
Untuk mencetak perulangan loop sebanyak 15 kali, hanya mengganti nilai mov
cl,a menjadi mov cl,f yang berarti perulangan a=10 kali, sedangkan f=15 kali,
karena didalam debug mengenal angka-angka bilangan heksa.
4. Analisa
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
Menampilkan karakter dalam DEBUG
Bahasa Assembly
Instrumentasi & Otomasi Industri
10
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
11
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
12