Anda di halaman 1dari 12

I.

Mencetak Huruf / Karakter Dengan DEBUG


1. Tujuan Praktikum
a. Membuat output huruf A dan B dalam program debug
b. Memberi nama suatu program(file)
2.

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.

D (Dump): menampilkan isi memori.


R (Register) : menampilkan atau mengganti isi register.
E (Enter)
: menulis atau mengganti isi memori.,
F (Fill)
: menulis satu blok memori dengan data yang sama.
N (Name)
: memberi nama file.
L (Load)
: memindahkan suatu file yang ada disket ke memori untuk
di debug.
T ( Trace)
: eksekusi program per intruksi.
G (Go)
: eksekusi program keseluruhan.
A (Asamble) : memasukan atau menulis mnemonic ke memori.
U(unasemble) :menterjemahkan dari mnemonic ke kode mesinnya yang

3. Langkah Percobaan 1, Mencetak Karakter A & B


1. Untuk memulai program debug, dapat dijalankan melalui tombol
Windows + R, kemudian ketikkan cmd, lalu ketik debug untuk
memulainya, seperti pada gambar dibawah ini

2. Setelah mengetikkan debug, maka akan muncul garis ( - ) yang berarti


debug siap dijalankan.
3. Selanjutnya, untuk menjalankan perintah dan menampilkan karakter /
huruf A, ketik perintah seperti berikut

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

-a100

;Untuk memulai program di alamat offset 100

mov ah,02

;Memasukkan nilai 02h ke register AH sebagai nilai Service

mov dl,41

;Memasukkan nilai 41 ( "A" ) ke register DL

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

4. Kemudian ketikkan U100 yang berfungsi untuk menampilkan listing


program bahasa mesin yang telah dibuat.

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

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.

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

Penjelasan program perbarisnya adalah:


- MOV AH, 02
Hasil pelaksanaan perintah adalah berubahnya isi register AX, khususnya pada
high byte nya. Dapat dilihat di utility Debug yang memproses setiap barisnya
dengan menggunakan perintah T (trace) sebagai berikut:
-T
AX=0200 BX=0000 CX=0008 DX=0000 SP=FFEE 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:0102 B242

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

Kemudian hasilnya akan dicetak yaitu berupa huruf A menggunakan perintah


interrupt 21
dengan service 02h
-T
A
AX=0241 BX=0000 CX=0008 DX=0041 SP=CE2E BP=0000 SI=0000
DI=0000
DS=0FD8 ES=0FD8 SS=0FD8 CS=0FD8 IP=0102 NV UP DI PL NZ NA PO
NC
0FD8:0106 CD20
INT 20
Mengakhiri program dengan perintah int 20h dan akan memberikan pesan
Program terminated normally yang menandakan bahwa program berhenti
semestinya.

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

Langkah Percobaan 2, Mencetak Karakter Beserta Atribut

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

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

3. Setelah memasukkan instruksi seperti diatas, maka akan menghasilkan


output cetakan huruf A sebanya 3 kali dengan latar belakang biru dan
dengan warna atribut cyan.
4. Instruksi mov al,41 artinya mengisikan kode ASCII A
5. Mov bh,00 artinya adalah mengatur mode halaman
6. Mov bl,93 artinya adalah mengatur warna tampilan yang akan dicetak
7. Mov cl,3 artinya berapa banyak nilai pengulangan yang akan dicetak.
8. Int 10, adalah perintah untuk mengeksekusi perintah.
9. Int 20 berarti program siap dijalankan dan kembali ke DOS.
10. Kemudian periksa panjang program dengan perintah RCX, dan akan
terlihat sebagai berikut:
-RCX
CX 0000
:8
11. Isi kursor dengan angka 8 kemudian Enter. Beri nama program
dengan perintah N (Name) yang bernama coba.com, seperti berikut:
-ncoba.com.
12. Lihat kembali awal program dengan perintah RIP, apakah berisi
0100, jika tidak maka isilah dengan angka tersebut:
-RIP
IP 0102
:100
13. Gunakan perintah W (Write) untuk menulis ke disk computer, seperti
dibawah ini:
-W
Writing 0008 bytes
14. Untuk memproses program (compile) gunakan perintah G (Go)
-G
AAA

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

Program terminated normally


Output program tersebut adalah huruf A. Dijelaskan pula, bahwa program
berhenti secara normal.

Langkah Percobaan 3, Mencetak beberapa karakter dengan Loop

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.

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

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.

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

4. Analisa
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
Menampilkan karakter dalam DEBUG
Bahasa Assembly
Instrumentasi & Otomasi Industri

10

....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

11

....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................

Menampilkan karakter dalam DEBUG


Bahasa Assembly
Instrumentasi & Otomasi Industri

12