PRAKTIKUM
BAHASA RAKITAN
Disusun Oleh :
NIM : 09011181924150
A. TUJUAN
Memahami instruksi percabangan
Memahami teknik merancang program percabanagn
Mampu menganalisa setiap data yang dihasilkan
C. PROSEDURE PRAKTIKUM
Salinlah program
Gantilah nilai variable db
Amatilah output yang ditampilkan
Buat Algoritma program
Buat Flowchart program
Buat Analisis program
Buat Kesimpulan
1
D. DASAR TEORI
2
CF akan 1, jika operand1 lebih kecil dari operand2 pada operasi
bilangan tidak bertanda.
Perlu anda ingat bahwa CMP tidak dapat membandingkan antar 2 lokasi
memory.
3
E. PROGRAM
.MODEL SMALL
.CODE
ORG 100H
END TData
4
F. OUTPUT PROGRAM
// Bilangan A tetap
5
// Bilangan A diganti 68
6
// Bilangan A diganti 69
7
G. ALGORITMA PROGRAM
Pertama ketik .MODEL SMALL yang merupakan keterangan program yang
berfungsi untuk mode dari program yang sudah ada.
Lalu ketik .code org 100h ini merupakan keterangan yang digunakan untuk
menentukan alamat offset terhadap program yang hendak digunakan. Khusus
program com selalu akan diawali dengan offset 100h.
Pada TData digunakan fungsi JMP atau JUMP untuk melewati proses
Kemudian digunakan db(define byte) untuk memberkan nilai tertentu pada
memori program yaitu dengan nilai 67, 68, dan juga 69
Kal0, Kal1, Kal2 pada TData digunakan untuk mencetak kondisi dimana bila bil A
lebih kecil dari bil B untuk Kal0. Begitu juga dengan Kal1, mencetak kondisi
dimana bila bilA sama dengan bil B serta Kal2 untuk mencetak bila bil A lebih
besar dari bil B
Karakter dari $ digunakan untuk menjadi tanda akhir tulisan
Pada proses digunakan fungsi MOV untuk memasukkan nilai BilA pada AL
Kemudian digunakan fungsi CMP untuk membandingkan nilai dari AL dengan Bil
B
Kemudian digunakan fungsi lompat JB jika operan1 lebih kecil dari operand 2, JE
jika operand1 = operand2, dan JA jika operand1 lebih kecil dari operand2
Pada saat Akecil digunakan fungsi LEA untuk mendapatkan alamat dari sebuah
varibel, yaitu DX akan berisi offset Kal0 lalu diikuti dengan JMP untuk melompati
cetak
Pada saat sama digunakan fungsi LEA untuk mendapatkan alamat dari sebuah
varibel, yaitu DX akan berisi offset Kal1 lalu diikuti dengan JMP untuk melompati
cetak
Pada saat Abesar digunakan fungsi LEA untuk mendapatkan alamat dari sebuah
varibel, yaitu DX akan berisi offset Kal2 1 1
Kemudian pada cetak digunakan fungsi MOV untuk memberi nilai 09 pada AH
Tahapan berikutnya yaitu INT 21h. INT 21h adalah salah satu operasi dari
8
interrupt yang berfungsi untuk memanggil atau mencetak karakter
Kemudian pada Exit digunakan INT20h. INT 20h yang juga merupakan salah satu
dari DOS interrupt juga. INT 20h ini bertugas untuk memberhentikan proses
komputer terhadap suatu program COM.
Terakhir gunakan END TData untuk memberhentikan program.
H. FLOWCHART PROGRAM
START
BIL A = 67
BIL B = 68
AL = BIL A (67)
AL : BIL B
AH = 09
INT 21h
INT 20h
STOP
9
I. ANALISIS PRAKTIKUM
Percobaan yang telah dilakukan ini menggunakan aplikasi dosbox untuk mencari
hasil dari beberapa operand atau perintah yang sudah diberikan. Yang dimana
menggunakan instruksi banding dan lompat, instruksi banding yang digunakan
adalah CMP yang bertujuan untuk membandingkan nilai AL dengan BilB dan
menggunakan instruksi lompat yaitu JB, JE dan JA dimana JB digunakan apabila
operand1 lebih kecil dari operand2. Dan INT 21h adalah salah satu operasi dari
interrupt yang berfungsi untuk memanggil atau mencetak karakter atau singkatnya
memanggil DL. Sedangkan INT 20h yang juga merupakan salah satu dari DOS
interrupt juga. INT 20h ini bertugas untuk memberhentikan proses komputer
terhadap suatu program COM. Terakhir digunakan END yang bertujuan untuk
memberhentikan program.
J. KESIMPULAN
Dapat disimpulkan bahwa pada percobaan ini menghasilkan program Turbo
Assembler atau Tasm, dimana terdapat dua program untuk mencetak kalimat yang
berisi hasil dari perbandingan antara dua buah variable db A dan B dimana
hasilnya hanya akan menampilkan angka lebih kecil, angka sama dan angka lebih
besar
1
0