·
Fungsi
setiap register bermacam-macam sesuai peruntukannya yang telah diatur oleh
pembuat mikroprosesor.
Membuat Program COM
Model Program
COM
Program yang
berekstensi COM (Command) merupakan program yang berisi perintah assembler
berupa instruksi mnemonic yang dapat ditulis dengan Debug atau Turbo Assembler.
Struktur model program COM yang dibuat
dengan Turbo Assembler bisa dengan 2 model
yaitu:
Model 1:
Title Nama_program ;judul program
Makro MACRO ;nama makro
--------
-------- } isi makro berada
(bila ada)
ENDM ;akhir makro
Code
SEGMENT ;(nama label
segment)
ASSUME CS: Code ;(register CS berisi label segment)
ORG 100h
;(origin 100h menuju ke alamat offset 100h)
MULAI:
--------- ;(label mulai)
--------- ; isi program
---------
INT 20h ; berhenti dan kembali ke DOS
Code
ENDS ; akhir
penulisan program di segment
END MULAI ; akhir dari isi program
Model 2:
Bentuk
struktur program di bawah ini lebih ringkas dibanding dengan model 1 yaitu:
.model
small
.code
org 100h ;program dimulai pada alamat
100h
MULAI:
--------- ;(label mulai)
--------- ; isi program
---------
INT 20h ; berhenti dan kembali ke DOS
END MULAI ;akhir program
Kita
dapat mengganti model 1 dengan model 2 dimana pengetikan isi program sama
dengan model 1 di atas.
Pembuatan program
dengan Debug
Program
yang tersedia dalam PCDOS atau MSDOS berupa Debug.Com atau Debug.Exe,
Pengetikan program dapat langsung ditulis dalam program Debug.
Caranya :
-
Ketik
Debug di depan prompt C atau A (debug.com ada di directory tersebut)
C> Debug (enter)
-
- Langkah berikutnya adalah memasukkan
baris-baris program dengan perintah
A100 (assembly) di depan prompt debug (
_ )
Perintah A100 berarti
instruksi pertama akan diletakkan pada alamat offset 100h pada segment memori
tersebut.
-A100 (enter)
xxxx : 0100 _
xxxx: adalah alamat
segment dan 0100 adalah alamat offset dimana program akan ditempatkan mulai
alamat tersebut..
Ketiklah isi program
bahasa rakitan (assembler) di depan alamat segment offset xxxx : 0100 misalnya:
xxxx : 0100
MOV DL,61 ;kode ASCII huruf a
: 0103
MOV AH,02 ;nomor pelayanan 02H
: 0105
INT 21 ;cetak di layar
: 0107
INT 20 ;kembali ke DOS
: 0109
_ (enter) ;menuju ke prompt debug
-
Alamat segment offset
dari 0100 s/d 0109 akan keluar sendiri
setelah kita mengetik program disertai dengan menekan enter.
Setelah
instruksi INT 20 tekan enter 2 kali dan
program akan kembali ke prompt debug ( _
).
-
Menentukan
panjang program pada debug dilakukan dengan mengisi register BX:CX. Terlihat dari mulai alamat offset awal 0100h
dan alamat offset akhir 010Fh, sehingga dapat diperoleh panjang programnya
adalah (0109h – 0100h) = 9 byte, maka register BX diisi dengan 0 dan register
CX dengan 9. Jadi pada prompt Debug ketik RBX lalu isi 0, dan ketik RCX lalu isi dengan 9.
-RBX (enter)
BX 0000
:0 enter
-RCX (enter)
CX 0000
:9 enter
-
Setelah
selesai ditik perintah RCX kemudian memberi nama file dengan perintah N (name).
Contoh : -N COBA1.com (enter)
-
Untuk
menyimpan program ke disket atau harddisk berikan perintah W (write) lalu
enter.
-
Menjalankan
program harus memberi instruksi G (go) dan lihat hasilnya di layar. Bila
program berjalan dengan benar (tidak ada kesalahan) komputer akan memberi
komentar “Program terminated normally”. Selengkapnya contoh cara membuat
program dengan Debug :
C> debug (enter)
-A100 enter
xxxx :
0100 MOV DL,61
xxxx :
0103 MOV AH,02
xxxx :
0105 INT 21
xxxx :
0107 INT 20
xxxx :
0109
-rbx enter
BX 0000
:0 enter
-rcx enter
CX 0000
:9 enter
-N coba1.com
-W
Writing
000F bytes
-G
a
(hasil dari program assembler tampil huruf a di layar)
Program
terminated normally
-
Pembuatan
dengan Macro Assembler atau Turbo Assembler.
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.
Langkah-langkah pembuatan program bahasa
rakitan dengan Turbo Assembler sebagai berikut :
- Buat
source program dengan teks editor dan beri nama file berekstensi .ASM dan
simpan didirektory yang berisi TASM.EXE dan TLINK.EXE.
- Compile
source program ASM dengan perintah compiler TASM dari Turbo Assembler
menjadi Objek program (file akan berekstensi OBJ). caranya : C>TASM KAMPUS>ASM (enter)
- Compile
source program ASM dengan perintah compiler TASM dari Turbo Assembler
menjadi Objek program (file akan berekstensi OBJ). caranya : C>TASM KAMPUS.ASM (enter)
- Setelah
menjadi coba1.obj, kita harus me-link berkas objek menjadi COM dengan
perintah TLINK. Caranya : C>TLINK /t KAMPUS (enter)
- Jika
pada pengetikan TLINK tidak diberi tanda /t , maka objek program akan
menjadi file berekstensi EXE.
- Coba1.com
dapat langsung dieksekusi dari DOS prompt untuk melihat hasilnya di layar
monitor dengan mengetik C>KAMPUS
(enter)
- Jika
terdapat kesalahan, Turbo Assembler akan memberi tahu letak kesalahan
pada baris program dan diedit dengan membuka kembali teks editor dan file
.ASM
- Perbaiki
program yang salah, kemudian dicompile ulang seperti langkah 2 dan 3.
|
·
Membuat
program COM dapat dengan Turbo Assembler dapat dilakukan dengan 2 model
pilihan yaitu model 1 (Code segment) atau model 2 (Model Small).
·
Membuat
program dengan debug harus diketik satu persatu, jika ada kesalahan maka
program harus diketik dari awal lagi.
·
Membuat
program dengan Turbo Assembler jauh lebih baik, karena jika ada kesalahan
kita tidak perlu lagi mengetik ulang tinggal kita perbaiki program yang
mengalami kesalahan tadi melalui teks editor dan dicompile ulang.
·
Program
mencetak huruf memakai kode ASCII yang disusun satu persatu dengan
memanfaatkan pelayanan interupsi INT 21H servive numer 02H.
·
Operasi
Loop digunakan untuk melakukan pengulangan atau iterasi dan banyaknya nilai
pengulangan ditentukan oleh nilai register CX sebelumnya.
·
Program
membuat beberapa huruf dapat disusun satu persatu dengan kode ASCII atau
dengan memanfaatkan operasi loop.
Sumber : handout-rakitan.doc
|