1. Turbo Assembler (TASM)
Turbo Assembler (TASM) merupakan perangkat lunak bahasa pemrograman Assembly yangdikembangkan Borland untuk komputer personal yang kompatibel dengan IBM, umumnya berbasis prosesor x86. Perangkat lunak ini diperdagangkan oleh Borland sebagai sebuah produk mandiri, atau dipaketkan bersama produk perangkat lunak bahasa pemrograman tingkat tinggi yang juga dikembangkan Borland, biasanya produk untuk tingkat mahir seperti (Borland Pascal, atau Borland C++), dan memiliki integrasi yang sangat baik dengan bahasa-bahasa pemrograman tingkat tinggi tersebut. Dengan berakhirnya era kejayaan keluarga Turbo, Turbo Assembler saat ini sudah tidak lagi dikembangkan oleh Borland.
Perangkat lunak Turbo Assembler dipaketkan bersama linker (disebut Turbo Linker atau TLINK), dan dilengkapi pula dengan Turbo Debugger, perangkat lunak untuk kebutuhan debugging. Untuk mendukung kompatibilitas dengan bahasa assembly yang umum digunakan saat itu, Microsoft Macro Assembler (MASM), TASM mendukung modus MASM (MASM mode) yang memungkinkan pemrogram merakit berkas kode sumber yang sebelumnya ditujukan untuk MASM. TASM juga mendukung modus tambahan yang disebut dengan mode ideal yang memiliki beberapa fitur tambahan.
TASM 3.0 mendukung fitur-fitur yang sebelumnya hanya terdapat pada bahasa pemrograman tingkat tinggi seperti objek sehingga memungkinkan pemrogram untuk memanfaatkan teknik pemrograman berorientasi objek (PBO).
2. Pengenalan Turbo Assembler
1) Text Editor
Penulisan program bahasa rakitan dengan TASM dapat menggunakan text editor seperti Edit (DOS), SideKick (SK), WordStar, atau word processor yang mempunyai fasilitas pembuatan ASCII file seperti Word Perfect, SPRINT dan lain sebagainya. Selain itu, dapat menggunakan editor Turbo Pascal atau Turbo C namun simpan ekstension file yang disimpan harus diakhiri .ASM bukan .PAS atau .C.
2) Compiler
Yang dimaksud dengan Compiler adalah suatu program yang menerjemahkan program Assembler dalam ASCII file (berekstension .ASM) ke bentuk file Object (berekstension .OBJ) dan menerjemahkan program object ke bentuk program exsekusi (berekstension .COM atau .EXE). Untuk mengompile source file, misalnya file COBA.ASM menjadi file object dengan extensi .OBJ atau ke bentuk program ekstensi .COM atau .EXE dapat menggunakan file TASM.EXE dengan mengetikkan:
C:\>tasm coba
Turbo Assembler version 2.0 Copyright © 1988,
1990 Borland International
Assembling file : coba.ASM
Error messages : None
Warning messages : None
Passes : 1
Remaining memory : 370k
C:\>dir coba.*
Volume in drive C is S’to
Directory of C:\
COBA OBJ 128 08-08-11 10:42p
COBA ASM 128 08-08-11 10:41p
2 file(s) 246 bytes
1,085,952 bytes free
3) Struktur Program
Untuk program .COM harus menambahkan Org 100h pada baris ketiga dari struktur program. Hal ini dilakukan karena harus menyisihkan ruang sebesar 100h untuk PSP (Program Segment Prefix), karena program .COM hanya terdiri dari satu segment sedangkan untuk program .EXE harus dapat membuat beberapa segment dan tidak perlu menyediakan baris ketiga dari struktur data seperti contoh di bawah ini :
.MODEL SMALL
.CODE
ORG 100H
Label1 : JMP Label2
Tempat program ditulis
Label2 :
Tempat program ditulis
INT 20H
END Label1
Penjelasan struktur program adalah sebagai berikut:
• Model Small
Tanda directive ini digunakan untuk memberitahukan kepada assembler bentuk memory yang digunakan oleh program. 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.
CODE
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) diletakkan 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. 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:
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. Jika program tidak diakhiri atau perintah untuk mengakhiri program tidak dicantumkan maka hal ini akan menyebabkan komputer menjadi hang.
3. Daftar Pustaka
Lukito, Ediman. Dasar-dasar Pemrograman dengan Assembler 8088. PT. Elex Media Komputindo. Jakarta. 1990.
Pemrograman Bahasa Assembly Edisi Online Versi 1.0. Agustus 2011.
http://www.scribd.com/doc/46495287/Sto-Assembly