You are on page 1of 5

Perintah-perintah DEBUG

-d(alamat offset)
>menampilkan isi memory dengan d/dump diikuti alamat offset

C:\>debug
-d100
1362:0100 00 00 00 00 00 00 00 00-46 00 40 00 46 00 40 00 ........F.@.F.@.
1362:0110 A8 07 00 00 CC 4D CC 4D-51 13 C3 00 51 13 06 02 .....M.MQ...Q...
1362:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

-f(alamat offset awal)(spasi)(alamat offset akhir)(nilai hexa)


>untuk mengisi register dari alamat offset awal sampai dengan akhir tertentu

C:\>debug
-f100 110 53
-d100
1362:0100 53 53 53 53 53 53 53 53-53 53 53 53 53 53 53 53 SSSSSSSSSSSSSSSS
1362:0110 53 55 55 55 55 55 55 55-55 55 55 55 34 00 51 13 SUUUUUUUUUUU4.Q.
1362:0120 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU
1362:0130 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU
1362:0140 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU
1362:0150 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU
1362:0160 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU
1362:0170 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU
-f111 11f 41
-d100
1362:0100 53 53 53 53 53 53 53 53-53 53 53 53 53 53 53 53 SSSSSSSSSSSSSSSS
1362:0110 53 41 41 41 41 41 41 41-41 41 41 41 41 41 41 41 SAAAAAAAAAAAAAAA
1362:0120 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

-e(alamat offset) (spasi untuk per alamat berikutnya)


>mengedit isi memory alamat offset tertentu
C:\>debug
-e100
1362:0100 53.35
-d100
1362:0100 35 53 53 53 53 53 53 53-53 53 53 53 53 53 53 53 5SSSSSSSSSSSSSSS
1362:0110 53 41 41 41 41 41 41 41-41 41 41 41 34 00 51 13 SAAAAAAAAAAA4.Q.
1362:0120 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU
-e100
1362:0100 35.22 (spasi) 53.21 (spasi) 53.20 (spasi) 53.19
-d100
1362:0100 22 21 20 19 53 53 53 53-53 53 53 53 53 53 53 53 "! .SSSSSSSSSSSS
1362:0110 53 41 41 41 41 41 41 41-41 41 41 41 34 00 51 13 SAAAAAAAAAAA4.Q.
1362:0120 55 55 55 55 55 55 55 55-55 55 55 55 55 55 55 55 UUUUUUUUUUUUUUUU

-u(alamat offset)
>untuk menampilkan isi memori tempat anda berada ( melihat isi program )

-a100
1362:0100 mov dl,41
1362:0102 mov ah,2
1362:0104 int 21
1362:0106 int 20
-u100 106
1362:0100 B241 MOV DL,41 ; dilokasi ini tempat data 41
1362:0102 B402 MOV AH,02
1362:0104 CD21 INT 21
1362:0106 CD20 INT 20
-r (replace)
>untuk melihat isi register

-r(isi register)
>untuk mengganti isi register

C:\>debug
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1362 ES=1362 SS=1362 CS=1362 IP=0100 NV UP EI PL NZ NA PO NC
1362:0100 0000 ADD [BX+SI],AL
DS:0000=CD
-rax (menganti isi register ax)
AX 0000
:1234
-r
AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1362 ES=1362 SS=1362 CS=1362 IP=0100 NV UP EI PL NZ NA PO NC
1362:0100 0000 ADD [BX+SI],AL
DS:0000=CD
-rss (mengganti isi register ss)
SS 1362
:1234
-r
AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1362 ES=1362 SS=1234 CS=1362 IP=0100 NV UP EI PL NZ NA PO NC
1362:0100 0000 ADD [BX+SI],AL
DS:0000=CD

-t/ trace
> untuk melihat jalannya program satu persatu, ketik p/ pause bila telah sampai
pada int 21

-t

AX=0200 BX=0000 CX=0000 DX=0053 SP=FFEE BP=0000 SI=0000


DI=0000
DS=1362 ES=1362 SS=1362 CS=1362 IP=0104 NV UP EI PL NZ NA PO NC
1362:0104 CD21 INT 21
-p (pause, muncul int 21)
S (huruf ‘S’ dicetak)
AX=0253 BX=0000 CX=0000 DX=0053 SP=FFEE BP=0000 SI=0000
DI=0000
DS=1362 ES=1362 SS=1362 CS=1362 IP=0106 NV UP EI PL NZ NA PO NC
1362:0106 B241 MOV DL,41
-t
d1
AX=0253 BX=0000 CX=0000 DX=0041 SP=FFEE BP=0000 SI=0000
DI=0000
DS=1362 ES=1362 SS=1362 CS=1362 IP=0108 NV UP EI PL NZ NA PO NC
1362:0108 CD21 INT 21
-menyimpan program
>besar program=alamat akhir-alamat awal+1 ;

C:\>debug
-a100
1362:0100 mov dl,41
1362:0102 mov ah,2
1362:0104 int 21
1362:0106 int 20
1362:0108
-d100
1362:0100 B2 41 B4 02 CD 21 CD 20-00 00 00 00 00 00 00 00 .A...!.
........
1362:0110 00 00 00 00 00 00 00 00-00 00 00 00 34 00 51 13
............4.Q.
1362:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
................
1362:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
................

-rbx
BX 0000
:0
-rcx
CX 0000
:8 ; dari B2 dengan alamat 0100, sampai 20 dengan alamat 0107, 0107-0100+1=8
-n namaprogram.com ; ketikkan nama program yang akan di simpan
-w ; perintah w/ write ke drive (save)
Writing 00008 bytes

-meload program
C:\>debug namaprogram.com ; debug (spasi)(namaprogram)
-g ; menjalankan program
A
Program terminated normally

atau

C:\>debug
-n namaprogram.com ; n/ nama program yang akan dibuka
-l ; l/ load membuka program
-g ; menjalankan program
A
Program terminated normally

-u (untuk melihat isi program kembali)


13A9:0100 B241 MOV DL,41
13A9:0102 B402 MOV AH,02
13A9:0104 CD21 INT 21
13A9:0106 CD20 INT 20

Program 1, mencetak satu karakter dengan mov ah,2


C:\>debug
-a100
1362:0100 mov ah,2 ; perintah cetak satu karakter
1362:0102 mov dl,41 ;menunjuk ke register dl pada alamat 41
1362:0104 int 21 ; baca fungsi mov ah,2 merujuk pada dl,41
1362:0106 int 20 ; program berhenti/ hlt(halted)
-g
A
Program terminated normally
Program 2, mencetak berulang dengan JMP (alamat awal program)
C:\>debug
-a160
1362:0160 mov ah,2
1362:0162 mov dl,49
1362:0164 int 21
1362:0166 jmp 160 ; looping/ kembali ke perintah awal, berulang perintahnya
-g
mencetak huruf ‘I’ (I besar) berulang-ulang

Program 3, mencetak huruf abjad


C:\>debug
-a100
1362:0100 mov cx,1a ; cetak sebanyak 26 karakter
1362:0103 mov dl,41 ; cetak mulai dari karakter 41 yaitu ‘A’ huruf a besar
1362:0105 mov ah,2 ; cetak satu karakter
1362:0107 int 21 ; baca fungsi mov ah,2 mencetak satu kali untuk masing-masing huruf
1362:0109 inc dl ; 41+1,42+1,43+1,dst… sampai 1a dexa kali/ 26 desimal kali
1362:010B loop 100
1362:010D int 20
1362:010F
-g
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Program terminated normally

Program 4, mencetak nama


C:\Documents and Settings\Sandy>debug
-a100
1362:0100 mov ah,2
1362:0102 mov dl,53
1362:0104 int 21
1362:0106 mov dl,41
1362:0108 int 21
1362:010A mov dl,4E
1362:010C int 21
1362:010E mov dl,44
1362:0110 int 21
1362:0112 mov dl,59
1362:0114 int 21
1362:0116 int 20
-g
SANDY
Program terminated normally
Programming dengan Debug (Bagian 1)

Program 1, mencetak kalimat dengan perintah mov ah,9


C:\>debug
-a100
1362:0100 mov ah,9 ; perintah untuk mencetak kalimat
1362:0103 mov dx,109 ; menunjuk ke register dx pada alamat 0109;
1362:0105 int 21 ; baca fungsi mov ah,9 merujuk pada dx,0109
1362:0107 int 20
1362:0109 db 'Praktikum Mikroprosesor P2$'

-g
Praktikum Mikroprosesor P2
Program terminated normally

-d100
1362:0100 B4 09 BA 09 01 CD 21 CD-20 50 72 61 6B 74 69 6B ......!. Praktik
1362:0110 75 6D 20 4D 69 6B 72 6F-70 72 6F 73 65 73 6F 72 um Mikroprosesor
1362:0120 20 50 32 24 31 38 31 39-32 30 0D 00 00 00 00 00 P2$181920......
1362:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

Program 2, meminta input dengan mov ah,a


C:\>debug
-a100
1362:0100 mov ah,a ; perintah meminta input
1362:0103 mov dx,109 ; menunjuk ke register dx pada alamat 0109
1362:0105 int 21 ; baca fungsi mov ah,a merujuk pada dx,0109
1362:0107 int 20
1362:0109 db 20 ; batasan input 20 hexa atau 32 desimal/ 32 karakter
-g
1234567891011121314151617181920 ; ada 32 buah karakter tercetak
Program terminated normally
-d100
1362:0100 B4 09 BA 09 01 CD 21 CD-20 20 1F 31 32 33 34 35 ......!. .12345
1362:0110 36 37 38 39 31 30 31 31-31 32 31 33 31 34 31 35 6789101112131415
1362:0120 31 36 31 37 31 38 31 39-32 30 0D 00 00 00 00 00 1617181920......
1362:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

You might also like