TUGAS MANDIRI ORGANISASI KOMPUTER DAN SISTEM OPERASI
PROGRAM TURBO ASSEMBLER (TASM)
DISUSUN OLEH :
HAFIZ ADI WIJAYA
065001600009
REYMARTIN REZA PRATAMA
064001600002
KEVIN MANDALA YUDHA
064001600007
ELFIN RIZALDY
065001600003
FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK INFORMATIKA
UNIVERSITAS TRISAKTI
2017
Tujuan Percobaan
Adapun tujuan dari tugas mandiri ini adalah :
1. Dapat mengetahui penjelasan tentang Turbo Assembler (TASM), dan TLINK
2. Dapat mengetahui tahapan-tahapan dalam pembuatan program assembly yang nantinya dijalankan pada command prompt dengan menggunakan socket TASM
3. Dapat mengimplementasikan proses percobaan dalam menjalankan program Turbo Assembler
4. Dapat melihat langsung output dari program yang dijalankan pada command prompt
Teori Percobaan
Turbo Assembler (TASM) merupakan perangkat lunak bahasa pemrograman Assembly yang dikembangkan 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).
Cara Percobaan
1. Bukalah vmware workstation yang sudah di instal dengan windows 7 32 bit. Direkomendasikan windows 32 bit, karna dapat berjalan lancar dalam menjalankan progrm TASM
2. Buka software emulator 8086, yang terlebih dahulu program bahasa assembly di buat, di compile, dan dijalankan pada emulator. Tahapan ini berfungsi untuk memeriksa apakah source code program memiliki bug atau tidak.
3. Ketiklah source code seperti di bawah ini
.MODEL SMALL
.CODE
ORG 100H
TULIS MACRO KALIMAT
MOV AH,09H
LEA DX, KALIMAT
INT 21H
ENDM
CETAK MACRO KARAKTER
MOV AH,02H
MOV DL,KARAKTER
INT 21H
ENDM
START: JMP PROSES
KAL0 DB 13,10,'Konversi Desimal ke Heksadesimal$'
KAL1 DB 13,10,'Tekan ESC Untuk Keluar$'
INPUT DB 13,10,'Maskukkan Angka Desimal: $'
OUTPUT DB 13,10,'Hasil Konversi Dalam Heksadesimal: $'
BIL1 DW 0
DIGIT3 DB 0
DIGIT2 DB 0
DIGIT1 DB 0
DIGIT0 DB 0
PROSES: TULIS KAL0
TULIS KAL1
TULIS INPUT
JMP VAR1
KELUAR: INT 20H
VAR1: LEA BX,DIGIT3
MOV CX,4
ULANG1: MOV AH,07H
INT 21H
CMP AL,27
JE KELUAR
CMP AL,30H
JB ULANG1
CMP AL,39H
JA ULANG1
CETAK AL
SUB AL,30H
MOV [BX],AL
INC BX
LOOP ULANG1
LEA BX,DIGIT3
MOV AX,1000
MOV CH,0
MUL CX
PUSH AX
INC BX
MOV AX,100
MOV CX,[BX]
MOV CH,0
MUL CX
MOV DX,AX
POP AX
ADD AX,DX
PUSH AX
INC BX
MOV AX,10
MOV CX,[BX]
MOV CH,0
MUL CX
MOV DX,AX
POP AX
ADD AX,DX
PUSH AX
INC BX
MOV AX,1
MOV CX,[BX]
MOV CH,0
MUL CX
MOV DX,AX
POP AX
ADD AX,DX
LEA BX,BIL1
MOV [BX],AX
DGT3: MOV DX,0
MOV CX,16
DIV CX
ADD DL,30H
MOV DIGIT3,DL
CMP DIGIT3,39H
JA ATAS3
DGT2: MOV DX,0
DIV CX
ADD DL,30H
MOV DIGIT2,DL
CMP DIGIT2,39H
JA ATAS2
DGT1: MOV DX,0
DIV CX
ADD DL,30H
MOV DIGIT1,DL
CMP DIGIT1,39H
JA ATAS1
DGT0: MOV DX,0
DIV CX
ADD DL,30H
MOV DIGIT0,DL
CMP DIGIT0,39H
JA ATAS0
JMP HASIL
ATAS3: ADD DIGIT3,7
JMP DGT2
ATAS2: ADD DIGIT2,7
JMP DGT1
ATAS1: ADD DIGIT1,7
JMP DGT0
ATAS0: ADD DIGIT0,7
HASIL: TULIS OUTPUT
CETAK DIGIT0
CETAK DIGIT1
CETAK DIGIT2
CETAK DIGIT3
JMP PROSES
END START
.CODE
ORG 100H
TULIS MACRO KALIMAT
MOV AH,09H
LEA DX, KALIMAT
INT 21H
ENDM
CETAK MACRO KARAKTER
MOV AH,02H
MOV DL,KARAKTER
INT 21H
ENDM
START: JMP PROSES
KAL0 DB 13,10,'Konversi Desimal ke Heksadesimal$'
KAL1 DB 13,10,'Tekan ESC Untuk Keluar$'
INPUT DB 13,10,'Maskukkan Angka Desimal: $'
OUTPUT DB 13,10,'Hasil Konversi Dalam Heksadesimal: $'
BIL1 DW 0
DIGIT3 DB 0
DIGIT2 DB 0
DIGIT1 DB 0
DIGIT0 DB 0
PROSES: TULIS KAL0
TULIS KAL1
TULIS INPUT
JMP VAR1
KELUAR: INT 20H
VAR1: LEA BX,DIGIT3
MOV CX,4
ULANG1: MOV AH,07H
INT 21H
CMP AL,27
JE KELUAR
CMP AL,30H
JB ULANG1
CMP AL,39H
JA ULANG1
CETAK AL
SUB AL,30H
MOV [BX],AL
INC BX
LOOP ULANG1
LEA BX,DIGIT3
MOV AX,1000
MOV CH,0
MUL CX
PUSH AX
INC BX
MOV AX,100
MOV CX,[BX]
MOV CH,0
MUL CX
MOV DX,AX
POP AX
ADD AX,DX
PUSH AX
INC BX
MOV AX,10
MOV CX,[BX]
MOV CH,0
MUL CX
MOV DX,AX
POP AX
ADD AX,DX
PUSH AX
INC BX
MOV AX,1
MOV CX,[BX]
MOV CH,0
MUL CX
MOV DX,AX
POP AX
ADD AX,DX
LEA BX,BIL1
MOV [BX],AX
DGT3: MOV DX,0
MOV CX,16
DIV CX
ADD DL,30H
MOV DIGIT3,DL
CMP DIGIT3,39H
JA ATAS3
DGT2: MOV DX,0
DIV CX
ADD DL,30H
MOV DIGIT2,DL
CMP DIGIT2,39H
JA ATAS2
DGT1: MOV DX,0
DIV CX
ADD DL,30H
MOV DIGIT1,DL
CMP DIGIT1,39H
JA ATAS1
DGT0: MOV DX,0
DIV CX
ADD DL,30H
MOV DIGIT0,DL
CMP DIGIT0,39H
JA ATAS0
JMP HASIL
ATAS3: ADD DIGIT3,7
JMP DGT2
ATAS2: ADD DIGIT2,7
JMP DGT1
ATAS1: ADD DIGIT1,7
JMP DGT0
ATAS0: ADD DIGIT0,7
HASIL: TULIS OUTPUT
CETAK DIGIT0
CETAK DIGIT1
CETAK DIGIT2
CETAK DIGIT3
JMP PROSES
END START
4. Jika sudah simpan, dan compile program dengan mengklik emulate
5. Jika tidak terdapat bug atau error pada hasil compile, klik run untuk menjalankan program.
6. Program Berhasil dijalankan. Masukkan input bilangan yang nantinya akan dikonversikan ke heksadesimal, jika sudah tekan enter, maka output hasil konversi dari desimal ke heksa desimal akan keluar.
7. Selanjutnya, jalankan program konversi heksadesimal tersebut pada command prompt. Masuklah ke tampilan Command Promt, lalu ketik Cd Tasm, yang fungsinya masuk ke dalam folder directory TASM yang ada di directory User.
Perlu diperhatikan, untuk menjalankan program assembly dalam format TASM & TLINK pada command Prompt haruslah dibutuhkan sokcet Tasm yang berisi konten-konten yang mendukun program dapat berjalan pada Command Prompt. Pada tugas mandiri ini, saya sudah menyiapkan socket tasm tersebut, nantinya file program assembly harus disimpan dala folder TASM agar dapat di jalankan.
8. Selanjutnya, setelah masuk ke folder directory TASM melalui perintah Cd Tasm tadi, ketik pada command prompt notepad konversi.asm . Perintah ini fungsinya untuk membuka notepad editor yang nantinya akan di buat file dengan nama konversi. asm yang file tersebut disimpan di folder TASM.
Seketika tampilan notepad akan muncul, ketiklah source code seperti yang tadi kita ketik di emulator 8086 tadi.
Jika sudah, klik save untuk menyimpan file. Lalu close tampilan notepad editor.
Otomatis file konversi.asm yang dibuat pada notepad akan tersimpan pada folder TASM.
9. Compile file konversi tersebut dengan cara ketik tasm konversi (nama file), lalu enter.
Terlihat dari hasil compile, tidak ditemukan Error Message ataupun Warning Message. Ini menandakan program tidak memiliki bug/error dan berhasil decompile.
10. Compile program dengan format TLINK, ketik pada command prompt tlink/t konversi (nama file) lalu enter.
Dari gambar di atas terlihat tidak ditemukannya error ataupun warning.
11. Jalankan program dengan mengetik nama file, ketik pada command prompt konversi, maka program akan di jalankan
12. Program membutuhkan input untuk mengkonversikan bilangan desimal ke heksadesimal, masukan bilangan desimal, maka program otomatis akan mengkonversikannya ke heksadesimal sebagai output dari program
13. Tekan tombol ESC untuk menghentikan program, maka program otomatis akan dihentikan
Data Percobaan/Dokumentasi
Kesimpulan
Program TASM atau TLINK sangatlah efisien jika ingin menjalankan program assembly pada command prompt windows tanpa memerlukan aplikasi software lain. Berbeda dengan emulator, proses pengerjaan compile pada command promt dengan format TASM dan TLINK terbilang sangat cepat, seketika file tercompile dan dijalankan dengan cepat. Hanya saja untuk mengcompile dan menjalankan program assembly dalam format TASM/TLINK pada command Prompt, diperlukan socket TASM terlebih dahulu. Socket Tasm yang berisi konten-konten yang mendukung agar program dapat berjalan pada command prompt haruslah disatukan letaknya dengan file program yang ingin dijalankan, sehingga program tasm dapat berjalan dengan baik.