Untuk mencetak kalimat, bisa digunakan interupsi 21 fungsi 9 dengan aturan:
INPUT
AH = 9
DS:DX = Alamat String tersebut
CATATAN = Karakter '$' dijadikan tanda akhir tulisan
Program : kal0.asmOleh : S’toFungsi : Mencetak String dengan Int 21 servis;=============; .MODEL SMALL .CODE ORG 100hTdata :
JMP Proses Kal0 DB 'PROSES PENCETAKAN STRING ',13,10,'$' Kal1 DB 'DIBELAKANG TANDA $ TIDAK BISA DICETAK '
Proses:
MOV AH,09h ; Servis ke 9 MOV DX,OFFSET Kal0 ; Ambil Alamat Offset Kal0 INT 21h ; Cetak perkarakter sampai tanda $ LEA DX,Kal0 ; Ambil Alamat Offset Kal0 INT 21h ; Cetak perkarakter sampai tanda $ LEA DX,Kal0+7 ; Ambil Alamat Offset KAl0+7 INT 21h ; Cetak perkarakter sampai tanda $ LEA DX,KAL1 ; Ambil Offset kal1 INT 21h ; Cetak perkarakter sampai ketemu $ INT 20h ; Selesai, kembali ke DOS END Tdata
Pada saat program anda jalankan, maka dilayar akan ditampilkan:
PROSES PENCETAKAN STRING
DIBELAKANG TANDA
Pada saat pendefinisian untuk variabel "KAL0" kita menambahkan tanda 13 dan 10. Kedua tanda ini merupakan karakter kontrol untuk pindah baris(tanda 10) dan menuju kolom 0(tanda 13). Pada akhir dari setiap kalimat yang ingin dicetak harus kita tambahkan dengan karakter "$". Karakter ini akan dipakai sebagai tanda akhir dari kalimat. Karena karakter "$" dijadikan sebagai tanda akhir dari kalimat yang ingin dicetak, maka pada proses pencetakan karakter yang kedua hanya kalimat "DIBELAKANG TANDA" yang tercetak. Sisa kalimatnya, yaitu "TIDAK BISA DICETAK" tidak tercetak keluar, karena terletak dibelakang tanda "$".
Dengan demikian, bila kita ingin mencetak kalimat yang mengandung tanda "$", harus digunakan fungsi yang lain, misalnya mencetak kalimat dengan perkarakter melalui interupsi 21 fungsi 2.
comment 0 komentar
more_vert