Adanya
keterbatasan pembuatan program dengan Debug, maka kita dapat menggunakan
bantuan assembler compiler dengan Macro assembler atau Turbo Assembler
(TASM.EXE dan TLINK.EXE).
Untuk
membuat program assembler dengan Turbo Assembler kita memerlukan source program
yang ditulis dengan teks editor (fasilitas untuk mengetik program). Teks editor dapat memakai Edit.com, Side Kick
(SK.com) pada DOS atau Notepad pada Windows dan lain-lain. Program assembler
dapat membuat file berekstensi COM atau berekstensi EXE
MENCETAK
HURUF
Membuat
program untuk mencetak huruf dapat dilakukan dengan menyusun kode ASCII satu
persatu yang ditempatkan dalam register DL sebagai tempat menyimpan data yang
akan ditampilkan di layar dengan memanfaatkan nomor pelayanan interupsi INT 21H
service 02H yang disimpan dalam register AH.
Untuk
membuat program COBA2.COM dengan Turbo
Assembler, maka file harus diberi nama COBA2.ASM yang diketik dalam teks editor
yang ada yaitu :
Coba segment
Assume
CS: Coba
Org
100h
MULAI: MOV
AH,02H ; isi register AH
dengan 02h untuk pelayanan
cetak huruf di layar
MOV
DL,41H ; isi register DL
dengan 41H kode ASCII
; huruf A
INT
21h ; cetak huruf di layar
INT
20h ; berhenti dan kembali
ke DOS
Coba ENDS
END
MULAI
-
Simpan file tersebut dengan nama COBA2.ASM
- Compile nama coba2.asm dengan TASM.EXE dan
di-link mengikuti langkah pembuatan program selanjutnya sehingga menjadi
COBA2.COM.
OPERASI
LOOP
Merupakan
operasi pengulangan atau iterasi untuk digunakan dalam cacahan atau penampilan
karakter string berulang-ulang. Perintah ini memakai register CX sebagai
penentu jumlah cacahan atau jumlah pengulangan, diakhiri dengan perintah LOOP untuk lompat kembali melakukan pengulangan.
Contoh program operasi loop dengan DEBUG :
xxxx :
0100 MOV CX,05
(enter) ;loop sebanyak 5 kali
:
0103 MOV DL,61 ;kode ASCII huruf a
:
0105 MOV AH,02 ;nomor pelayanan 02H
:
0107 INT 21 ;cetak di layar
:
0109 INC DL ;tambahkan isi DL dengan 1
:
010B LOOP 0107 ;kembali ke alamat 0107H
:
010D INT 20 ;kembali ke DOS
:
010F _ (enter)
;menuju ke prompt debug
-
Contoh
program operasi loop dengan TURBO ASSEMBLER :
Coba
segment
Assume CS: Coba
Org 100h
MULAI:
MOV CX,0005H ; banyaknya loop 5 kali
MOV DL,61H ; isi DL dengan kode ASCII huruf a
ULANG:
INT 21h ; cetak huruf di layar
INC DL ; tambahkan isi DL dengan 1
LOOP ULANG ; kembali ke label ULANG
INT 20h ; berhenti dan kembali ke DOS
Coba ENDS
END
MULAI
Mencetak
beberapa huruf
Mencetak
beberapa huruf dapat dilakukan dengan 2 cara yaitu :
q Menyusun
beberapa huruf dalam kode ASCII satu persatu yang setiap huruf disimpan di DL
q Menggunakan
operasi loop untuk mencetak beberapa huruf
memakai instruksi INC untuk menambah isi register dengan 1 sehingga
nilai DL bertambah lagi untuk dicetak.
Contoh
pembuatan beberapa huruf yang disusun satu persatu dengan DEBUG
C\Assembler> debug (enter)
-A100 enter
xxxx : 0100
MOV AH,02
xxxx : 0103
MOV DL,41
xxxx : 0105
int 21
xxxx : 0107
MOV DL,42
xxxx : 0109
INT 21
xxxx : 010B
MOV DL,43
xxxx : 010D
INT 21
xxxx : 010F
INT 20
xxxx : 0111
-rbx enter
BX 0000
:0 enter
-rcx enter
CX 0000
:11 enter
-N COBA2.COM
-W
Writing 0011 bytes
-G
ABC (tampilan ABC di layar)
Program terminated normally
Untuk membuat beberapa huruf yang disusun satu persatu
dengan Turbo Assembler, maka program harus diketik dalam teks editor yang
ada (EDIT atau SK) yaitu :
;Menyusun beberapa huruf kode ASCII
Coba
segment
Assume CS: Coba
Org 100h
MULAI:
MOV AH,02H ; isi register AH dengan 02h untuk
pelayanan
cetak huruf di
layar
MOV DL,41H ; isi register DL dengan 41H kode ASCII
; huruf A
INT 21h ; cetak huruf di layar
MOV DL,42H ; isi register DL dengan 42H huruf B
INT 21H ; cetak huruf di layar
MOV DL,43H ; isi register DL dengan 43H huruf C
INT 21h ; cetak huruf di layar
INT 20h ; berhenti dan kembali ke DOS
Coba ENDS
END MULAI
- Simpan file tersebut dengan nama COBA3.ASM
- Compile nama coba2.asm dengan TASM.EXE dan di-link
mengikuti langkah pembuatan program selanjutnya sehingga menjadi COBA3.COM.
Contoh
pembuatan beberapa huruf memakai operasi loop dengan DEBUG
C\Assembler>debug
(enter)
-A100
(enter)
xxxx :
0100 MOV CX,05
(enter) ;loop sebanyak 5 kali
:
0103 MOV DL,61 ;kode ASCII huruf a
:
0105 MOV AH,02 ;nomor pelayanan 02H
:
0107 INT 21 ;cetak di layar
:
0109 INC DL ;tambahkan isi DL dengan 1
:
010B LOOP 0107 ;kembali ke alamat 0107H
:
010D INT 20 ;kembali ke DOS
:
010F _ (enter) ;menuju ke prompt debug
-RCX
:F
-RIP
:100
-N COBA3.COM
-W
Writing 000F
bytes
-G
abcde (tampilan ABC di layar)
Program
terminated normally
Untuk pembuatan beberapa huruf memakai operasi loop dengan
TURBO ASSEMBLER kita dapat memodifikasi dari program dengan Debug seperti
contoh operasi loop di atas.