Pengantar Bahasa Rakitan Eka Puji Widiyanto, ST
Text Editor Merupakan editor di mana source code dituliskan Bisa menggunakan berbagai text editor : Notepad Notepad++ Programmer Notepad TextPad Dll….. File disimpan dengan ekstensi .ASM
Compiler Merupakan program yang berfungsi untuk mengubah source code ASM menjadi file objek OBJ Compiler yang digunakan : Turbo Assembly (TASM) Contoh : Mengkompile coba.asm dengan tasm
Lingking Merupakan proses pengubahan file OBJ menjadi file EXE atau COM Menggunakan tlink.exe Konversi coba.asm ke : EXE : tlink coba COM : tlink/t coba
EXE dan COM COM EXE Lebih pendek Lebih panjang Lebih cepat Lebih lambat Hanya max 1 segmen Bisa lebih dari 1 segmen Ukuran max 64kB Bisa lebih dari 64kB, max ukuran memori terpasang Sulit mengakses prosedur atau fungsi yang berbeda segmen Mudah mengakses prosedur/fungsi pada segmen lain Bisa dibuat dengan DEBUG Tidak bisa dibuat dengan DEBUG 100H byte pertama merupakan PSP (Program Segment Prefix) -
Bentuk Angka Desimal : Biner : Heksadesimal : Range : 0..9 Penulisan : tanpa akhiran atau dengan akhiran D Contoh : 298 atau 298D Biner : Range : 0,1 Penulisan : diakhiri dengan B Contoh : 101100B Heksadesimal : Range : 0..9 , A..F Penulisan : diakhiri H Contoh : 12FDH
Karakter Penulisan : Contoh : Diapit tanda petik tunggal (‘) Diapit tanda petik ganda (“) Contoh : “hello world” ‘hello world’
Label Penulisan : diakhiri tanda titik dua ( : ) Karakter yang bisa digunakan : Huruf : a..Z (case insensitive) Angka : 0..9 Karakter khusus : @ . _ $ Tidak boleh didahului spasi atau angka Max panjang = 31 karakter Contoh : Mulai: MOV AX,7
Komentar Merupakan penjelasan singkat tentang sebuah line program Penulisan : diawali tanda ; Contoh : Mulai: MOV BX, 7 ;isi BX dengan 7
MOV Fungsi : Sintaks : Contoh : Mengkopi nilai atau data ke suatu register, variabel, atau memori Sintaks : MOV Tujuan, Asal Contoh : 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
INT Fungsi : Sintaks : Contoh : Memerintahkan program untuk menginterupsi komputer untuk melaksanakan proses sesuai dengan jenis interupsi yang diberikan Sintaks : INT noint Contoh : INT 21h ; menutup program
Interupsi DOS Nomor INT Nama INT 20h Mengakhiri program secara paksa(terminate) 21h Fungsi DOS(mencetak karakter, dll) 22h Mengakhiri sebuah kode 23h Ctrl-Break Code 24h Critical Error Handler 25h Absolut Disk Read 26h Absolut Disk Write 27h Terminate but stay resident
Model COM
MODEL Menyatakan tipe model memori yang dipergunakan oleh program Sintaks : .MODEL TipeModel Model TINY tidak cocok untuk kompiler ASM level tinggi Tipe Spesifikasi TINY 1 segmen, khusus untuk COM SMALL Data dan kode < 1 segmen (64kB) MEDIUM Data < 1 segmen Kode > 1segmen COMPACT Data > 1segmen Kode < 1 segmen LARGE Data dan kode > 1 segmen HUGE Data, kode, array > 1 segmen
CODE Menyatakan bagian program di mana Code Segment akan mulai dipergunakan Sintaks : .CODE
ORG Menyatakan mulai alamat memori ke berapa program harus diletakkan oleh komputer Sintaks : ORG AlamatStart
JMP Menyatakan bahwa program harus melompat menuju lokasi atau label yang ditunjuk oleh perintah JMP Sintaks : JMP LokasiTujuan Lokasi tujuan bisa berupa label ataupun alamat memori
INT 20h Menghasilkan suatu interupsi INT 20h : mengakhiri program dan menyerahkan kendali ke DOS