MEMULAI DENGAN ASSEMBLY


TEXT EDITOR
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.
COMPILER
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.

MEMBUAT PROGRAM COM
MODEL PROGRAM COM
Untuk membuat program .COM yang hanya menggunakan 1 segment, bisa anda
buat dengan model program seperti gambar 6.1. Bentuk yang digunakan disini
adalah bentuk program yang dianjurkan(Ideal). Dipilihnya bentuk program ideal
dalam buku ini dikarenakan pertimbangan dari berbagai keunggulan bentuk
program ideal ini seperti, prosesnya lebih cepat dan lebih mudah digunakan
oleh berbagai bahasa tingkat tinggi yang terkenal(Turbo Pascal dan C).
———————————————————–
.MODEL SMALL
.CODE
ORG 100H
Label1 : JMP Label2
+———————+
| TEMPAT DATA PROGRAM |
+———————+
Label2 : +———————+
| TEMPAT PROGRAM |
+———————+
INT 20H
END Label1
———————————————————–
Model Program COM
Supaya lebih jelas bentuk dari program ideal, marilah kita telusuri
lebih lanjut dari bentuk program ini.
6.1.1 .MODEL SMALL
Tanda directive ini digunakan untuk memberitahukan kepada assembler
bentuk memory yang digunakan oleh program kita. Supaya lebih jelas model-model
yang bisa digunakan adalah :
– TINY
Jika program anda hanya menggunakan 1 segment seperti program COM. Model
ini disediakan khusus untuk program COM.
– SMALL
Jika data dan code yang digunakan oleh program kurang dari ukuran 1
segment atau 64 KB.
– MEDIUM
Jika data yang digunakan oleh program kurang dari 64 KB tetapi code yang
digunakan bisa lebih dari 64 KB.

– COMPACT
Jika data yang digunakan bisa lebih besar dari 64 KB tetapi codenya
kurang dari 64 KB.
– LARGE
Jika data dan code yang dipakai oleh program bisa lebih dari 64 KB.
– HUGE
Jika data, code maupun array yang digunakan bisa lebih dari 64 KB.
Mungkin ada yang bertanya-tanya mengapa pada program COM yang dibuat
digunakan model SMALL dan bukannya TINY ? Hal ini disebabkan karena banyak
dari compiler bahasa tingkat tinggi yang tidak bisa berkomunikasi dengan model
TINY, sehingga kita menggunakan model SMALL sebagai pemecahannya.
6.1.2 .CODE
Tanda directive ini digunakan untuk memberitahukan kepada assembler
bahwa kita akan mulai menggunakan Code Segment-nya disini. Code segment ini
digunakan untuk menyimpan program yang nantinya akan dijalankan.
ORG 100h
Pada program COM perintah ini akan selalu digunakan. Perintah ini
digunakan untuk memberitahukan assembler supaya program pada saat
dijalankan(diload ke memory) ditaruh mulai pada offset ke 100h(256) byte.
Dapat dikatakan juga bahwa kita menyediakan 100h byte kosong pada saat program
dijalankan. 100h byte kosong ini nantinya akan ditempati oleh PSP(Program
Segment Prefix) dari program tersebut. PSP ini digunakan oleh DOS untuk
mengontrol jalannya program tersebut.
JMP
Perintah JMP(JUMP) ini digunakan untuk melompat menuju tempat yang
ditunjukkan oleh perintah JUMP. Adapun syntaxnya adalah:
JUMP Tujuan .
Dimana tujuannya dapat berupa label seperti yang digunakan pada bagan
diatas. Mengenai perintah JUMP ini akan kita bahas lebih lanjut nantinya.
Perintah JUMP yang digunakan pada bagan diatas dimaksudkan agar melewati
tempat data program, karena jika tidak ada perintah JUMP ini maka data program
akan ikut dieksekusi sehingga kemungkinan besar akan menyebabkan program anda
menjadi Hang.
INT 20h
Perintah INT adalah suatu perintah untuk menghasilkan suatu interupsi
dengan syntax:
INT NoInt
Interupsi 20h berfungsi untuk mengakhiri program dan menyerahkan kendali
sepenuhnya kepada Dos. Pada program COM cara ini bukanlah satu-satunya tetapi
cara inilah yang paling efektif untuk digunakan. Bila anda lupa untuk
mengakhiri sebuah program maka program anda tidak akan tahu kapan harus
selesai, hal ini akan menyebabkan komputer menjadi hank.

About herman
workhard and be nice to people

3 Responses to MEMULAI DENGAN ASSEMBLY

  1. Khothibul Umam says:

    mau donk??, softwarenya……

  2. notZahra says:

    Kang herman mau tanya untuk mulai assembly apa aja software yang dibutuhkan dan cara instalasinya gimana,mohon bantuan.terima kasih
    kalau bisa kirim dong ke email saya software serta cara instalnya.
    email : notZahra@yahoo.co.id

  3. bamz says:

    Punya TEXT EDITOR n COMPILERnya ga bos, klo punya boleh dunk kirim ke emai : kaka_beng2x@yahoo.com
    .
    thanks ^^

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: