Text Editor
Compiler
Untuk
menuliskan source file untuk program assembly bisa anda gunakan berbagai
editor, misalkan SideKick, WordStar dan Word Perfect. Source file yang
diketikkan harus berupa file ASCII, file ini bisa anda hasilkan melalui
WordStar dengan file 'NON DOCUMEN', atau dengan SideKick. Untuk meyakinkan
bahwa source file yang anda buat adalah file ASCII, bisa anda coba ketikkan
perintah Type pada A>. Bila file yang terlihat dengan perintah type sama persis
dengan yang anda ketikkan pada editor, tanpa tambahan karakter-karakter yang
acak, maka file tersebut adalah file ASCII. Source file untuk assembly harus
berektensi .ASM.
Source
file ASCII yang telah anda ketikkan perlu dicompile kebentuk file object dengan
extensi .OBJ, dari file object inilah nantinya dapat dijadikan kebentuk file
.EXE atau .COM.
Untuk
mengcompile source file, misalnya file COBA.ASM menjadi file object dengan
extensi .OBJ bisa anda gunakan file TASM.EXE dengan mengetikkan :
C:\>tasm coba
Turbo Assembler Version 2.0 Copyright
(c) 1988,
1990 Borland International
Assembling file: coba.ASM
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 307k
C:\>dir coba.*
Volume in drive C is S’to
Directory of C:\
COBA OBJ 128 08-12-94 10:42p
COBA ASM 128 08-12-94 10:41p
2 file(s) 246 bytes
1,085,952 bytes free
Lingking
File
object yang telah terbentuk dengan TASM, belum dapat dieksekusi secara
langsung. Untuk membuat file object ke bentuk file yang dapat dieksekusi(ektensi
.COM atau .EXE) bisa anda gunakan file TLINK.EXE. Bila source program yang anda
buat dalam bentuk EXE maka untuk membentuk file dengan ektensi EXE bisa anda
ketikkan :
C:\>tlink coba
Turbo Link Version 3.0 Copyright (c)
1987,
1990 Borland International
Bila
source program yang dibuat adalah file COM, maka bisa anda ketikkan :
C:\>tlink/t coba
Turbo Link Version 3.0 Copyright (c)
1987,
1990 Borland International
Perbedaan Program Com Dan Exe
Program
dengan ektensi COM dan EXE mempunya berbagai perbedaan yang menyolok, antara
lain :
Program
COM :
-
Lebih pendek dari file EXE
-
Lebih cepat dibanding file EXE
-
Hanya dapat menggunakan 1 segmen
-
Ukuran file maksimum 64 KB (ukuran satu segment)
-
sulit untuk mengakses data atau procedure yang terletak pada segment yang lain.
- 100h
byte pertama merupakan PSP(Program Segment Prefix) dari program tersebut.
-
Bisa dibuat dengan DEBUG
Program
EXE :
-
Lebih panjang dari file COM
-
Lebih lambat dibanding file COM
-
Bisa menggunakan lebih dari 1 segmen
-
Ukuran file tak terbatas sesuai dengan ukuran memory.
-
mudah mengakses data atau procedure pada segment yang lain.
-
Tidak bisa dibuat dengan DEBUG
Bentuk Angka
Assembler
mengizinkan penggunaan beberapa bentuk angka , yaitu :
1.
Desimal
Untuk menuliskan
angka dalam bentuk desimal, bisa digunakan tanda D' pada akhir angka tersebut
atau bisa juga tidak diberi tanda sama sekali, contoh : 298D atau 298 saja.
2.
Biner
Untuk menuliskan
angka dalam bentuk biner(0..1), harus ditambahkan tanda 'B' pada akhir angka
tersebut, contoh : 01100111B.
3.
Hexadesimal
Untuk menuliskan
angka dalam bentuk hexadesimal(0..9,A..F), harus
ditambahkan
tanda 'H' pada akhir angka tersebut. Perlu diperhatikan bahwa bila angka
pertama dari hexa berupa karakter(A..F) maka angka nol harus ditambahkan
didepannya. Bila hal ini tidak dilakukan, assembler akan menganggapnya sebagai
suatu label, bukannya sebagai nilai hexa. Contoh penulisan yang benar: 0A12H, 2A02H.
4.
Karakter
Penulisan
karakter atau string diapit oleh tanda petik dua (") atau tanda petik satu('), Contoh: ' Ini adalah
karakter '.
Label
Label
bisa anda definisikan dengan ketentuan akhir dari nama label tersebut harus
berupa tanda titik dua (:).
Pemberian nama label bisa digunakan:
-
Huruf : A..Z (Huruf besar dan kecil tidak dibedakan)
-
Angka : 0..9
-
Karakter khusus : @ . _ $
Nama
pada label tidak boleh terdapat spasi dan didahului oleh angka, contoh dari
penulisan label yang benar: mulai: MOV
CX,7. Nama label terpanjang yang dapat dikenali oleh assembler adalah 31
karakter.
Komentar
Untuk
memberikan komentar pada source file digunakan tanda ';'. Apapun yang dtuliskan dibelakang tanda ';' akan dianggap sebagai komentar, Contoh :
mulai:
MOV BX,7 ; berikan nilai 7 pada BX
Perintah MOV
Perintah
MOV digunakan untuk mengcopy nilai atau angka menuju suatu register,variabel
atau memory. Adapun syntax untuk perintah MOV ini adalah :
MOV Tujuan,Asal
Sebagai
contohnya :
MOV AL,9 ; masukkan nilai 9 pada AL.
MOV AH,AL ; nilai AL=9 dan AH=9
MOV AX,9 ; AX=AH+AL hingga AH=0 dan
AL:=9
Pada
baris pertama(MOV AL,9), kita
memberikan nilai 9 pada register AL. Kemudian pada baris kedua(MOV AH,AL) kita mengcopykan nilai
register AL untuk AH. Jadi setelah operasi ini register AL akan tetap bernilai
9, dan register AH akan sama nilainya dengan AL atau 9. Pada baris ketiga(MOV AX,9), kita memberikan register AX
nilai 9. Karena AX terdiri atas AH dan AL, maka register AH akan bernilai 0,
sedangkan AL akan bernilai 9.
Perintah
MOV akan mengcopykan nilai pada sumber untuk dimasukan ke Tujuan, nilai sumber
tidaklah berubah. Inilah sebabnya MOV(E) akan kita terjemahkan disini dengan
mengcopy, dan bukannya memindahkan.
Perintah Int
Didalam
pemrograman assambler, kita akan banyak sekali menggunakan interupsi untuk
membantu kita dalam mengerjakan suatu pekerjaan. Untuk menghasilkan suatu
interupsi digunakan perintah INT dengan syntax:
INT NoInt
Dengan
NoInt adalah nomor interupsi yang ingin dihasilkan. Sebagai contohnya bila kita
ingin menghasilkan interupsi 21h, bisa dituliskan dengan:
INT 21h, maka interupsi
21h akan segera terjadi.
Wah artikelnya mantappp.... maju terus..... salam persahabatan.
BalasHapusterimakasi gan udah mampir..
Hapussalam sabat juga gan...
wah pake WS ya mas, harus bongkar2 gudang nih. hehe...
BalasHapusiy ne sob,,
Hapusrequest temen sob...
thanks udah berkunjung sob