Anda di halaman 1dari 10

Debug

Debug adalah suatu utiliti dalam DOS yang digunakan untuk membuat
pemrograman assambler dengan format ekstensi COM.
Perintah-perintah debug antara lain :
1.

Q (Quit)

Mengembalikan ke dos prompt


C> Debug
-Q
A>
2.

H (Hexa)

Melaksanakan perintah penambahan dan pengurangan terhadap dua


bilangan hexa
C>Debug
-H 2204 2012
4216 01F2
3.

A (assambler)

Perintah untuk menulis program assambler


C>Debug

-a
17C0:0100 mov ax,12
4.

R(Register)

Digunakan untuk mengetahui isi masing-masing register


C>debug
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=17C0 ES=17C0 SS=17C0 CS=17C0 IP=0100 NV UP EI PL NZ NA PO
NC
17C00:0100 B81200 mov ax,12
Perintah ini juga bisa untuk mengetahui atau memperbaharui isi register
tertentu
C>Debug
rCX
CX 0000
:0100
C>Debug
rCX

CX 0100
:
5.

N(Name)

Perintah untuk membuat atau merubah nama file


C>Debug
-N D:Coba.com
6.

W(Writing)

Menulis program dan data ke dalam disc


C>Debug
-w
writing 0008 bytes
7.

G (Go)

Menjalankan program (misal program cetak huruf A)


C>Debug
-G
A
Program terminated normally

8.

T(Trace)

Menjalankan program perbaris dengan menampilkan register dipakai


C>Debug
-T
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000
DI=0000
DS=17C0 ES=17C0 SS=17C0 CS=17C0 IP=0100 NV UP EI PL NZ NA PO
NC
17C00:0100 B81200 mov ax,12
9.

U (Unsamble)

Menampilkan list dari program yang sedang berjalan


U[tempat awal program yang diinginkan]L[panjang program/1 byte akhir dari
alamat akhir program]
Interupt (Int)
Perintah ini merupakan pemanggilan subroutin yang sudah tersedia di
memori komputer
Subroutine yang dapat dipanggil menggunakan perintah int (Interup) terdiri
dari dua jenis yaitu:
1.
Bios Interrupt, yaitu Int yang disediakan oleh BIOS(Basic Input Output
System). Int yang termasuk dalam Interrupt Bios adalah Int 0 hingga 1F hexa

2.
DOS Interrupt yaitu Int yang disediakan oleh DOS (Disk Operation
System). Yang termasuk dalam Interrupt ini adalah Interrupt diatas 1F hexa
Interupt DOS yang sering digunakan adalah Int 20h dan Int 21h service 02h
a.

Int 20h

Int ini mempunyai tugas memberhentikan proses komputer terhadap suatu


program COM.
b.

Int 21h service 21h

Int 21h mempunyai banyak tugas sehingga dibagi menjadi berbagai macam
service number. Service 02h merupakan bagian tugas Int 21h yang sering
dipakai yaitu untuk mencetak sebuah huruf ke monitor.
Untuk menjalankan fungsi Int 21h service 02h harus memenuh syarat
sebagai berikut:
1.
Register AH harus berisi service number dari Int 21h yang akan
dijalankan (02h)
2.
Register DL, harus berisi bilangan hexa dari karakter ASCII yang akan
dicetak.
Instruksi-Instruksi Dasar
1. Instruksi Pengalamatan
MOV tujuan,asal (tujuan: register/memori, asal:angka/register/memori)
Misal MOV AX,1234H (register AX diisi angka 1234 H)
2. Instruksi Penjumlahan

INC tujuan
Misal INC DX (DX = DX+1)
ADD tujuan,asal
Misal ADD AX,1234 (AX=AX+1234H)
3. Instruksi Pengurangan
DEC tujuan
Misal DEC AX (AX=AX-1)
SUB tujuan,asal
Misal SUB AX,1200H (AX = AX-1200H)
B. Alat Dan Bahan
Alat-alat yang digunakan adalah
1.

PC

2.

Utility Debug

C. Langkah Kerja
1.
Klik start, dari tampilan menu pilih Run. Ditampilan menu Run,
ketik command dan selanjutnya pilih OK
2. Jika sudah berada di debug.com ketik program berikut, beri nama :
MOV CX,05

MOV AH,02
MOV DL,42
INT 21
LOOP 0103
INT 20
Enter 2 kali
3. Lihat hasil program dengan ketikkan g
4. Kemudian Ketik U 100 L 0d dan isi tabel berikut
Tabel 1 Tabel Instruksi
ALAMAT
INSTRUKSI
SEGMEN

OFFSET

1394

0100

MOV CX,0005

1394

0103

MOV AH,02

1394

0105

MOV DL,41

1394

0107

INT 21

OPCODE

KETERANGAN

B90500

Register CX diisi 05H

B402

Untuk mencetak

B241

Mengisikan Kode A

CD21

Perintak u/ cetak

1394

0109

LOOP 0103

1394

010B

INT 20

E2F8

Perulangan pada
0103

CD20

Menghentikan
program

5. Gunakan perintah Trace (T) dan isi tabel berikut


Tabel 2 Isian Register
ALAMAT

SEGMEN OFFSET

REGISTER

AX

BX

CX

DX

SP

IP

0AE6

0103

000
0 000 0005 0000
0

FFE
E

0103

0AE6

0105

020
0 000 0005 0000
0

FFE
E

0105

0AE6

0107

020
0 000 0005 0041
0

FFE
E

0107

Kesimpulan

Instruksi (MOV) digunakan untuk memindahkan data dari satu tempat


ke tempat lain

Int ini mempunyai tugas memberhentikan proses komputer terhadap


suatu program COM.

Mov ah, adalah mengisi register ah dengan service number dari int 21
untuk mencetak 1 huruf pada layar.

Mov dl, 41 mengisi register dl dengan 41 yang merupakan Kode ASCII


dari huruf A

Int 21 merupakan perintah mencetak

Int 20 perintah untuk menghentikan program


Tugas
1.
Dari program-program yang sudah ditulis dan diuji apa fungsi dari
register
AX,BX,CX,DX,SP,IP,DS,SS,ES,CS
Register AX, secara khusus digunakan pada operasi aritmatika terutama
dalam operasi pembagian dan pengurangan.
Register BX, biasanya digunakan untuk menunjukkan suatu alamat offset
dari suatu segmen.
Register CX, digunakan secara khusus pada operasi looping dimana
register ini menentukan berapa banyaknya looping yang akan terjadi.
Register DX, digunakan untuk menampung sisa hasil pembagian 16 bit.
Pada prosesor 80386 terdapat tambahan register 32 bit, yaitu EAX,EBX,ECX
dan EDX.
Register CS(Code Segment) digunakan untuk menunjukkan tempat dari
segmen yang sedang aktif, register ini sebaiknya tidak sembarang diubah
karena akan menyebabkan kekacauan pada program anda nantinya.
Register DS(Data Segment) biasanya digunakan untuk menunjukkan
tempat segmen dimana data-data pada program disimpan. Umumnya isi dari
register ini tidak perlu diubah kecuali pada program residen.
Register ES (Extra Segment), sesuai dengan namanya adalah suatu
register bonus yang tidak mempunyai suatu tugas khusus. Register ES ini
biasanya digunakan untuk menunjukkan suatu alamat di memory

SS(Stack Segment) menunjukkan letak dari segmen yang digunakan oleh


stack. register ini sebaiknya tidak sembarang diubah karena akan
menyebabkan kekacauan pada program anda nantinya.
Index Pointer Register ,Register IP berpasangan dengan CS(CS:IP)
menunjukkan alamat dimemory tempat dari intruksi(perintah) selanjutnya
yang akan dieksekusi. Register IP juga merupakan register 16 bit.
Register SP(Stack Pointer) yang berpasangan dengan register segment
SS(SS:SP) digunakan untuk mununjukkan alamat dari stack.
2.
Apa yang bisa disimpulkan dari tabel 1.1 sampai dengan tabel
terakhir :
Instruksi (MOV) digunakan untuk memindahkan data dari satu tempat ke
tempat lain
Int ini mempunyai tugas memberhentikan proses komputer terhadap
suatu program COM.
Mov ah, adalah mengisi register ah dengan service number dari int 21
untuk mencetak 1 huruf pada layar.
Mov dl, 41 mengisi register dl dengan 41 yang merupakan Kode ASCII dari
huruf A
Int 21 merupakan perintah mencetak
Int 20 perintah untuk menghentikan program