Rabu, 16 September 2015

Resume Turbo Assembler (TASM)

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

Tidak ada komentar:

Posting Komentar