Kembali ke Halaman Utama

Sampai disini sudah dihasilkan suatu file object dari KAL.ASM yang siap dijadikan file COM(karena kita membuat file dengan format program COM). Untuk itu lakukanlah langkah kedua, dengan perintah :

C:\>tlink/t a0

Turbo Link Version 3.0 Copyright (c) 1987, 1990

Borland International

C:\>tlink/t a0

Turbo Link Version 3.0 Copyright (c) 1987, 1990

Borland International

C:\>dir a0.*

Volume in drive C is S’to

Directory of C:\

A0 ASM 506 08-14-94 3:56p

A0 OBJ 179 08-14-94 11:26p

A0 MAP 229 08-14-94 11:26p

A0 COM 8 08-14-94 11:26p

4 file(s) 922 bytes

1,266,176 bytes free

Setelah kedua proses itu selesai maka dihasilkanlah suatu program COM yang sudah siap untuk dijalankan. File-file yang tidak digunakan bisa anda hapus. Bila program 7.1. dijalankan maka pada layar akan ditampilkan

C:\>A0

A

Kita lihat disini bahwa karakter yang tercetak adalah yang sesuai dengan kode ASCII yang ada pada register DL. Sebagai latihan cobalah anda ubah register DL dengan angka 65 yang merupakan kode ASCII karakter 'A'. Hasil yang didapatkan adalah sama.

Pelajarilah fungsi ini baik-baik, karena akan banyak kita gunakan pada bab-bab selanjutnya.

7.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 anda perhatikan bahwa interupsi ini mencetak karakter tanpa menggerakkan kursor.

;=================================;

; PROGRAM : A1.ASM................................ ;

; FUNGSI : MENCETAK KARATER 'A' ...;

; BESERTA ATRIBUTNYA .........................;

; DENGAN INT 10h ......................................;

;============================S’to=;

.MODEL SMALL

.CODE

ORG 100h

Proses :

MOV AH,09h ; Nilai servis untuk mencetak karakter

MOV AL,'A' ; AL = Karakter yang akan dicetak

MOV BH,00h ; Nomor Halaman layar

MOV BL,93h ; Warna atau atribut dari karakter

MOV CX,03h ; Banyaknya karakter yang ingin dicetak

INT 10h ; Laksanakan !!!

INT 20h ; Selesai ! kembali ke DOS

END Proses

 Program 7.2. Mencetak karakter beserta atributnya

Bila program 7.2. dieksekusi maka akan ditampilkan huruf 'A' sebanyak 3 kali dengan warna dasar biru kedip dan warna tulisan Cyan(sesuai dengan nilai register BL). Mengenai halaman layar dan atribut(warna) akan kita bahas lebih lanjut pada bagian yang lain.

B:\>A1

AAA

Anda bisa merubah-rubah register AL dan BL untuk merubah karakter dan warna yang ingin dicetak.

7.3. PENGULANGAN DENGAN LOOP

Perintah LOOP digunakan untuk melakukan suatu proses yang berulang-ulang. Adapun syntax dari perintah ini adalah :

LOOP Tujuan

Tujuan dapat berupa suatu label yang telah didefinisikan, contoh:

MOV CX,3 ; Banyaknya pengulangan yang dilakukan

Ulang : INT 10h ; Tempat terjadinya pengulangan

LOOP Ulang ; Lompat ke label 'Ulang'

ada proses pengulangan dengan perintah LOOP, register CX memegang suatu peranan yang khusus dimana register ini dijadikan sebagai counter/penghitung terhadap banyaknya looping yang boleh terjadi. Setiap ditemui perintah LOOP, maka register CX akan dikurangi dengan 1 terlebih dahulu, kemudian akan dilihat apakah CX sudah mencapai 0. Proses looping akan selesai bila nilai

pada register CX mencapai nol. Seperti pada contoh diatas, maka interupsi 10h akan dihasilkan sebanyak 3 kali(sesuai dengan nilai CX).

Perlu diperhatikan bahwa jangan sampai anda menaruh CX kedalam proses LOOP karena hal ini akan menyebabkan nilai CX diSET terus sehingga proses looping tidak bisa berhenti.

TRICK:

Bila anda menetapkan nilai CX menjadi nol pada saat pertama kali sebelum dilakukan loop, maka anda akan mendapatkan proses looping yang terbanyak. Hal ini dikarenakan proses pengurangan 0 dengan 1 akan menghasilkan nilai FFFFh(-1), Contoh :

MOV CX,00

Ulang: LOOP Ulang

7.4. MENCETAK BEBERAPA KARAKTER

Untuk mencetak beberapa karakter, bisa anda gunakan proses looping. Sebagai contoh dari penggunaan looping ini bisa dilihat pada program 7.3.

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~......~~;

; PROGRAM : ABC0.ASM.................... ;

; FUNGSI : MENCETAK 16 BUAH....... ;

; KARAKTER DENGAN ........................;

; INT 21h SERVIS 02............................... ;

;==========================S’to=;

 .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

 Program 7.3. Pengulangan dengan perintah LOOP

 

Bila program 7.3. dijalankan maka akan ditampilkan :

ABCDEFGHIJKLMNOP

Perintah INC DL akan menambah register DL dengan 1, seperti intruksi , DL:=DL+1 dalam Pascal. Lebih jauh mengenai operasi aritmatika(INC) ini akan dibahas pada bab selanjutnya.

 

 

 

Ke Halaman sebelumnya
Ke Halaman sebelumnya
Ke Halaman berikutnya
Ke Halaman berikutnya
Ke Halaman sebelumnya
Ke Halaman berikutnya