MENCETAK KALIMAT
Mencetak kalimat dengan DOS
Untuk membuat kalimat, program harus diketik dengan teks editor (EDIT / NOTEPAD atau SK.COM) dan harus mengikuti model 1 atau model 2 di atas menggunakan pelayanan interupsi 21H nomor servis AH=09H. Mencetak kalimat dalam sistem operasi DOS memerlukan tambahan misalnya letak posisi kalimat berada pada baris dan kolom tertentu, sehingga kita harus memakai pelayanan interupsi INT 10H nomor servis AH=02H dan AL=0 yang berfungsi mengatur posisi kalimat di layar. Nilai baris dan kolom harus dimasukkan ke dalam register DH (baris) dan register DL (kolom). Total baris di layar adalah 24 dan total kolom di layar adalah 80. Untuk mencetak kalimat di tengah layar, maka barisnya adalah 12, sedangkan kolomnya disesuaikan dengan jumlah kalimat yang akan dicetak.
Isi kalimat disimpan dalam label misalnya KALIMAT dengan diberi spesifikasi data berupa DB (define byte) yang diproses dalam byte diawali dan diakhiri dengan tanda ‘ (petik) dan pada akhir tulisan diberi tanda dolar $ untuk batas tulisan.
Misalnya kalimat KAMPUS STMIK BANI SALEH BEKASI dicetak di layar, maka kita harus mengikuti struktur program atau model 1 seperti contoh dibawah ini :
Coba segment
Assume CS: Coba
Org 100h
MULAI: MOV AH,09H ; isi register AH dengan 09h untuk pelayanan
cetak kalimat di layar
MOV DX, OFFSET KALIMAT ; isi register DX dengan LABEL
KALIMAT 16 BIT
INT 21h ; cetak KALIMAT di layar
INT 20h ; berhenti dan kembali ke DOS
KALIMAT DB ’KAMPUS STMIK BANI SALEH BEKASI$’ ;data disimpan di label
Coba ENDS
END MULAI
- Simpan file tersebut dengan nama KAMPUS.ASM
- Setelah file disimpan dengan nama KAMPUS.ASM lalu dicompile dan di-link mengikuti langkah pembuatan program selanjutnya sehingga menjadi KAMPUS.COM.
Atau dapat juga membuat program kalimat dengan bentuk model 2 yang lebih ringkas berikut ini:
.model small
.code
org 100h ; program dimulai pada alamat 100h
MULAI:
MOV AH,09H ; isi register AH dengan 09h untuk
; pelayanan cetak kalimat di layar
MOV DX, OFFSET KALIMAT ; isi register DX dengan LABEL
; KALIMAT 16 BIT
INT 21h ; cetak KALIMAT di layar
INT 20h ; berhenti dan kembali ke DOS
KALIMAT DB ’KAMPUS STMIK BANI SALEH BEKASI$’ ;data disimpan di label
END MULAI ; akhir program
Contoh 2:
.model small
.code
org 100h
MULAI: ; mencetak kalimat di tengah layar
MOV AH,02H
MOV AL,0
MOV BH,0
MOV DH, 12
MOV DL, 30
INT 10H
MOV AH, 09H
MOV DX, OFFSET KALIMAT
INT 21H
INT 20H
KALIMAT DB ‘STMIK BANI SALEH$’
END MULAI
Tampilan kalimat di layar masih terlihat belum sempurna, karena tulisan yang ada di atas sebelumnya tidak menggulung ke atas, sehingga layar perlu dibersihkan dengan CLS dari DOS atau membuat program bersih layar sendiri dengan pelayanan interupsi INT 10H nomor servis 06H. Adapun penambahan program bersih layar sebelum kalimat dicetak di tengah layar adalah sebagai berikut:
.model small
.code
org 100h
MULAI: ; bersih layar
MOV AH,06H
XOR CX,CX
MOV AL,0
MOV BH,07H ;background layar dasar hitam tulisan putih
MOV DH,24
MOV DL,79
INT 10H
; mencetak kalimat di tengah layar
MOV AH,02H
MOV AL,0
MOV BH,0
MOV DH,12
MOV DL,30
INT 10H
MOV AH,09H
MOV DX, OFFSET KALIMAT
INT 21H
INT 20H
KALIMAT DB ‘STMIK BANI SALEH$’
END MULAI
ADS HERE !!!