BAHASA RAKITAN BAGIAN 1
MODEL PROGRAM COM BAHASA RAKITAN .MODEL SMALL .CODE ORG 100H LABEL1 : JMP LABEL2 TEMPAT DATA PROGRAM LABEL2 : TEMPAT UNTUK PROGRAM (LISTING PROGRAM) INT 20H END LABEL1 Awal dari Kode program
PROSES PENYIMPANAN, KOMPILASI DAN PEMBUATAN FILE COM Langkah penyimpanan, kompilasi dan pembuatan file COM : Simpan listing program yang sudah diketik pada notepad, wordpad atau text editor yang lain dengan ektensi ‘.ASM’ Kompilasi listing program yang telah diketik dengan menggunakan TASM.EXE pada COMMAND PROMPT (untuk mengecek kesalahan pada program) Perintahnya adalah sebagai berikut : C:\tasm>TASM (NAMA FILE ASM) Dari proses kompilasi dihasilkan file dengan ekstensi *.OBJ Buat file COM dengan menggunakan perintah ‘ TLINK/T ’ C:\tasm>TLINK/T (NAMA FILE ASM) Jika ketiga langkah tersebut telah dilakukan maka file COM siap dijalankan dengan mengetik : C:\tasm> (nama file)
INTERRUPT INT 21H INT 21H adalah interrupt layanan fungsi DOS (DOS Function Service) 01H Menginput satu karakter dari keyboard ke monitor 02H Mengeluarkan satu karakter ke monitor 09H Mengeluarkan satu baris data, diakhiri dengan $ 0AH Menginput satu baris data dari keyboard ke monitor 4CH Mengakhiri proses INT 20H Untuk mengakhiri program dan kembali ke DOS
Karakter Kontrol Kode Nama Fungsi 07 Bel memberikan suara BEEP 08 Backspace (BS) memindahkan kursor 1 kolom ke belakang 09 Horizontal Tab memindahkan kursorr 8 kolom ke kanan 10 Line Feed (LF) memindahkan kursor 1 baris ke bawah 13 Carriage Return (CR) memindahkan kursor menuju awal baris
Pengaturan Atribut Warna warna dasar warna tulisan Bit ke - 7 6 5 4 3 2 1 BL R G B I Keterangan : BL = Blink atau berkedip R = merah G = hijau B = biru I = intensitas warna
PENJELASAN
MODEL TINY SMALL MEDIUM COMPACT LARGE HUGE Model-model yang bisa digunakan adalah : TINY Program hanya menggunakan satu segmen (khusus untuk program COM) SMALL Data dan kode yang digunakan kurang dari 1 segmen atau 64 KB MEDIUM Data yang digunakan kurang dari 64 KB, tapi kode yang digunakan lebih dari 64 KB COMPACT Data yang digunakan lebih besar dari 64 KB, kode kurang dari 64 KB LARGE Data dan kode lebih dari 64 KB HUGE Data, kode dan array lebih dari 64 KB KE PROGRAM UTAMA
Contoh Program
Mencetak huruf, kalimat dan membuat program COM Menggunakan INT 21H 1. Mencetak huruf ;=================================; ; PROGRAM : SATU1.ASM ; ; FUNGSI : MENCETAK KARAKTER ‘A’ ; ; DENGAN INT 21H ; .MODEL SMALL .CODE ORG 100H MULAI: MOV AH,02H ;NOMOR LAYANAN INTERUPT MOV DL,’A’ ;MENGKOPIKAN KARAKTER ASCII KE DL INT 21H ;LAKUKAN INT 21H (CETAK KARAKTER) INT 20H ;SELESAI ! KEMBALI KE DOS END MULAI
;==============================================; 2. Mencetak kalimat ;==============================================; ; PROGRAM : SATU2.ASM ; ; FUNGSI : MENCETAK KALIMAT MENGGUNAKAN OFFSET ; ; DENGAN INT 21H ; .MODEL SMALL .CODE ORG 100H DATA: JMP MULAI KALIMAT DB ‘STMIK MDP$’ MULAI: MOV AH,09H ;NOMOR LAYANAN INTERUPT MOV DX,OFFSET KALIMAT ;AMBIL ALAMAT OFFSET KALIMAT INT 21H ;LAKUKAN INT 21H (CETAK PER ;KARAKTER) SAMPAI TANDA $ INT 20H ;SELESAI ! KEMBALI KE DOS END DATA
3. Mengakhiri program dengan INT 21H ;=========================================; ; PROGRAM : SATU3.ASM ; ; FUNGSI : MENGAKHIRI PROGRAM ; ; DENGAN INT 21H ; .MODEL SMALL .CODE ORG 100H MULAI: MOV AH,02H ;NOMOR LAYANAN INTERUPT MOV DL,192 ;COPI NILAI ASCII 192 KE DL INT 21H ;LAKUKAN INT 21H (CETAK KARAKTER) MOV AH,0AH ;NOMOR LAYANAN INTERUPT MOV AL,00H ;SUBFUNGSI LAYANAN INTERUPT INT 21H ;SELESAI ! KEMBALI KE DOS END MULAI
4. Mencetak kalimat dengan instruksi LEA ;=====================================================; ; PROGRAM : SATU4.ASM ; ; FUNGSI : MENCETAK KALIMAT MENGGUNAKAN ; ; INSRUKSI LEA ; .MODEL SMALL .CODE ORG 100H DATA: JMP MULAI KAL0 DB 'PROSES PENCETAKAN STRING',13,10,'$' KAL1 DB 'DI BELAKANG TANDA',13,10,'$','TIDAK BISA DICETAK' MULAI: MOV DX,OFFSET KAL0 ;Ambil alamat offset Kal0 MOV AH,09H ; Servis ke 9 INT 21H ; Cetak per karakter sampai tanda $ MOV DX,OFFSET KAL1 INT 21H LEA DX,KAL0 LEA DX,KAL1 LEA DX,KAL0+7 LEA DX,KAL1+5 INT 20H END DATA