Anda di halaman 1dari 9

PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023

Panduan praktikum ini dibuat untuk menyelesaikan contoh-contoh


yang terkait dengan teori bahan ajar diberikan dalam kelas tatapmuka
sebagai bentuk interaksi dengan mahasiswa. Praktikum bahasa Rakitan
diberikan mahasiswa untuk dikerjakan, dijalankan dan memberikan
perbaikan untuk melengkapi program jika terdapat kesalahan atau Error
yang menyebabkan program tidak Run menggunakan emu8086. Untuk
memulai program emu8086 adalah:
1. Melalui Taksbar All Proram atau klik 2x pada layar dekstop.
2. Pilih tab New untuk membuka lembar kerja baru
3. Pilih option empty workspace, selanjutnya Anda ketik contoh
praktikum pertama sampai selesai. Setiap selesai satu program
akan dijalankan untuk melihat dan memahami output dari setiap
Gambar 2. Pilihan untuk lembar kerja baru
modul praktikum.
4. Compile dan load emulator (Tekan F5 atau klik Emulate)
Tugas Anda adalah:
5. Untuk menampilkan hasilnya klik EMULATE (RUN).
1. Menyelesaikan semua contoh prorgam pertama sampai terakhir
6. Jika anda klik menu compile untuk dijalankan, maka anda
2. Mencatat dan memberi penjelasan (output) setiap prorgam
diarahkan untuk memberi nama file pada sub_directori MyBuild.
3. Diparaf oleh Ass. Lab. (Sdr. Rifaldi, ST)
Tetapi bisa saja kita simpa pada direktori Dokumen.

Prorgam 1. Mencetak deret abjad


Program Bahasa Rakitan untuk mencetak deret abjad, analisa dimana yang
terbaca error, dan dilengkapi.
;add fungsi menambah atau menaikkan 1
;sub fungsi mengurangi atau menurunkan 1
.model small
.code
org 100h
proses:
mov ah,02h
movdl,'A'
mov cx,26
1. Buka lembar kerja editor emu8086 lalu ulang:
(klik 2x) int 21h
add dl,1; tambah pengulangan dl dengan 1
2. pilih New
loopulang
3. Pilih empty workspace
int 20h
4. Silahkan memulai end proses

1
PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023

Program 2. Mencetak Huruf Prorgam 3. Mencetak Huruf dengan input dari keyboard

.model small Program ini masih perlu perbaikan, jika dijalankan anda tekan
.code sembarang tombol huruf dari keyboard aktifkan atau matikan
org 100h
CAPSLOCK.
proses:
mov ah,09h ;Kode untuk mencetak warna Jmp mulai
mov bl,01010101b ;KARAKTER ASCII 'A' Masukkan db "Masukkan tombol: $"
mov cx,26 ;Jumlah karakter warna yang akan dicetak msg1: db " = angka. ",0dh,0ah,'$'
ulang: msg2: db " = huruf besar. ",0dh,0ah,'$'
int 10h ;Cetak warna
msg3: db " = huruf kecil. ",0dh,0ah,'$'
inc bl
loop ulang msg4: db " = karakter lain. ",0dh,0ah,'$'

mov ah,02h mulai:


mov dl,'A' ;Karakter yang akan dicetak mov dx, offset masukkan
mov cx,26 ; Jumlah karakter yang akan dicetak mov ah, 9
lagi: int 21h

int 21h;Cetak karakter mov ah, 1


inc dl int 21h
loop lagi cmp al, 1bh ; stop ESC
jz exit
mov ah,02h
mov dl, 'z' cmp al, 30h
mov cx,26 ja bandingkan1 ;jump if bellow al < '0'
jbkarakter_lain
lanjut: bandingkan1:
int 21h;Cetak karakter cmp al, 39h
dec dl jbangka ;jump if above al> '9'
loop lanjut
int 20h ;menghentikan program cmp al, 41h
end proses ja bandingkan2 ;jump if bellow al < 'A'
jbkarakter_lain
bandingkan2:
cmp al, 5bh
jbhuruf_besar ;jump if above al< '5b'
cmp al, 61h
ja bandingkan3 ;jump if bellow al < 'a'

2
PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023

jbkarakter_lain PRORGAM 5. MENCETAK ABJAD DENGAN JARAK ………


bandingkan3:
cmp al, 7bh .modelsmall
.code
jbhuruf_kecil ;jump if above al< '7b'
ORG 100h
mulai:
exit: mov ah,02h
ret MOV CX,26
angka: MOVDL,65
mov dx, msg1 ULANGI:
mov ah, 9 push CX
int 21h INT 21H
jmpmulai MOV DH,DL
huruf_besar: MOVE DL,32
mov dx, msg2 INT 21H ;mencetak/memberi space
mov ah, 9 MOV DL,DH
int 21h INC DL
jmpmulai LOO PULANGI
huruf_kecil: INT 20H
mov dx, msg3 endm mulai
mov ah, 9
int 21h
jmpmulai PROGRAM 6. MENCETAK ANGKA 0-9 BERBENTUK ……………
karakter_lain:
mov dx, msg4 org 100h
mov ah, 9 mov bx,10
int 21h
jmpmulai ulang:
movcx,bx
mov dl,'0'
callcetak
Prorgam 4. Ketik ulang program 1 diatas decbx
cmp bx,0
Ketik ulang program 1 diatas kemudian ubahlah program jnzulang
tersebut untuk menampilkan deret angka 1 sampai 9 dan ret
menampilkan deret angka 9 kebawah sampai 1. Uraikan
logika apa yang anda harus ubah. cetakproc
ulang_layar:
mov ah,2
int 21h
inc dl

3
PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023

loopulang_layar
mov dl,0ah
int 21h PROGRAM 8. Menjumlahkan Angka yang diinput dari Keyboard
mov dl,0dh ;Jika program anda tidak terjadi kesalahan, jalankan dan input angka
int 21h dan jumlahnya tidak lebih dari 9
ret
cetakendp
.model small
end
.code
org 100h
PRORGAM 7. FUNGSI ARITMATIKA
start : jmp input
.model small nilai1 db'Silahkan input nilai 1 = ','$'
.code nilai2 db 13,10,'Silahkan input nilai 2 = ','$'
hasil db 13,10,'Hasilnya adalah = ','$'
org 100h input:
start : mov ax,03h mov ah,09h
int 10h movdx,offset nilai1
mov ah,02h int21 h
mov bh,33h mov ah,01h
mov bl,33h int 21h
mov bl,al
mov dl,bh
subbl,30h
int 21h mov ah,09h
mov dl,78h mov dx,offset nilai2
int 21h int 21h
mov dl,bl mov ah,01h
int 21h int 21h
sub al,30h
mov dl,3dh
addbl,al
int 21h tampil :
sub bh,30h mov ah,09h
mov al,03h mov dx,offset hasil
mul bh ;fungsi aritmatika int 21h
add al,30h mov ah,02h
mov dl,al mov dl,bl
adddl,30h
mov ah,02h int 21h
int 21h akhir :
int 20h int 20h
end start endstart

4
PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023

PRORGAM 9. MENAMPILKAN ANGKA int 21h


Berikan uraian singkat bagaimana tampilan dan output program mov dl,41h
dibawah ini. int 21h
mov dl,4Dh
int 21h
mov cx,50 mov dl, 41h
ulang: int 21h
callkonversi mov dl, 20h
loopu lang int 21h
ret mov dl, 53h
konversiproc int 21h
movax,cx mov dl,41h
mov bl,10 int 21h
divbl mov dl,59h
movdl,al int 21h
movdh,ah mov dl,41h
add dl,30h int 21h
mov ah,2
int 21h
int 20h
movdl,dh
END proses
add dl,30h
int 21h
mov dl,0ah
PRROGRAM 11. PROGRAM MENAMPILKAN NAMA ANDA
int 21h
mov dl,0dh
Ubahlah prorgam ke-10 diatas untuk menampilkan nama
;int 21h
Anda! Misalnya: JAHARUDDIN atau NUR KHALIZAH
ret
konversiendp

PRORGAM 10. MENAMPILKAN STRING

.model small
.code
org 100h

proses:
mov ah,02h
mov dl,4Eh

5
PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023

PRROGRAM 12. MENGHITUNG NILAI IPK RATA-RATA

org 100h
jmp mulai

kal10 db 13,10, ' $'


kal7 db 13,10, '================================================== $'
kal0 db 13,10, '||No.|Mata Kuliah |SKS|| Nilai $'
kal9 db 13,10, '================================================== $'
kal1 db 13,10, '||1. |Bahasa Assembly |2 || $'
kal2 db 13,10, '||2. |Simulasi Modeling |2 || $'
kal3 db 13,10, '||3. |Tugas I (Design Prog.Aplikasi |1 || $'
kal4 db 13,10, '||4. |Praktikum Bhs Rakitan |1 || $'
kal8 db 13,10, '===================================================$'
kal5 db 13,10, ' IPK Anda adalah : $'
kal6 db 13,10, 'Anda mau mengulang lagi? (Y/t) : $'

ulang: mov ah,09h


lea dx,kal6
int 21h
mov ah, 01h
int 21h
cmp al, 59h ;karakter Y
je mulai
cmp al, 79h ;karakter y
je mulai
jmp akhir

mulai: xor si, si ;kosongkan si


mov si, 120h ;mulai SI di 120h untuk penyimpanan
xor ax,ax
xor dx, dx ;kosongkan dx
xor bx,bx
xor cx,cx
xor dx,dx
xor di,di
xor sp,sp
mov ah,09h
lea dx,kal10
int 21h
mov ah,09h
lea dx,kal7
int 21h
mov ah,09h
lea dx,kal0

6
PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023
mov dl, 03Ah ;tampilkan :
mov ah, 02h
int 21h int 21h ;tampilkan
mov ah,09h mov cl, 02h
lea dx,kal9 jmp nilai
int 21h
empat: mov ah,09h
satu: mov ah,09h lea dx,kal4
lea dx,kal1
int 21h
int 21h mov ah, 01h
mov ah, 01h
int 21h
int 21h sub al, 30h ;kurangi 30h dg nilai al
sub al, 30h ;kurangi 30h dg nilai al
mov bh, al ;pindahkan al, ke bh
mov bh, al ;pindahkan al, ke bh mov ah, 01h
mov ah, 01h
int 21h ;tampilkan
int 21h ;tampilkan sub al, 30h
sub al, 30h
mov bl, al
mov bl, al mov dl, 03Ah ;tampilkan :
mov dl, 03Ah ;tampilkan :
mov ah, 02h
mov ah, 02h int 21h ;tampilkan
int 21h ;tampilkan
mov cl, 01h
mov cl, 04h jmp nilai
jmp nilai
nilai: cmp bh, 09h
dua: mov ah,09h je sembilan
lea dx,kal2
cmp bh, 08h
int 21h je delapan
mov ah, 01h
cmp bh, 07h
int 21h je tujuh
sub al, 30h ;kurangi 30h dg nilai al
jmp enam
mov bh, al ;pindahkan al, ke bh
mov ah, 01h
int 21h ;tampilkan sembilan: mov dl, 41h ;//tampil karakter A
sub al, 30h mov ah, 02h
mov bl, al int 21h
mov dl, 03Ah ;tampilkan : mov al, 04h
mov ah, 02h jmp hitung
int 21h ;tampilkan
mov cl, 03h delapan: mov dl, 42h ;//tampil karakter B
jmp nilai mov ah, 02h
int 21h
tiga: mov ah,09h mov al, 03h
lea dx,kal3 jmp hitung
int 21h
mov ah, 01h tujuh: mov dl, 43h ;//tampil karakter C
int 21h mov ah, 02h
sub al, 30h ;kurangi 30h dg nilai al int 21h
mov bh, al ;pindahkan al, ke bh mov al, 02h
mov ah, 01h jmp hitung
int 21h ;tampilkan
sub al, 30h enam: mov dl, 44h ;//tampil karakter D
mov bl, al mov ah, 02h

7
PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023
int 21h lea dx,kal8
mov al, 01h int 21h
jmp hitung mov ah,09h
lea dx,kal5
hitung: cmp cl, 04h int 21h
je mk1 mov dl, [si]
cmp cl, 03h add dl, 30h ;//tambah 0 dg Dl
je mk2 mov ah, 02h
cmp cl, 02h int 21h ;//tampil hasil
je mk3 mov dl, 02Eh ;//tampil .
jmp mk4 mov ah, 02h
int 21h ;//tampil hasil (…),
mk1: mul cl dec si
mov [si], al mov dl, [si]
inc si ;//matkul 1 add dl, 30h ;//tambah 0 dg Dl
jmp dua mov ah, 02h
mk2: mul cl int 21h ;//tampil hasil (…),(…)
mov [si], al jmp ulang
inc si ;//matkul 2
jmp tiga akhir: int 20h
mk3: mul cl
mov [si], al
inc si ;//matkul 3
jmp empat ****** semoga bermanfaat *******
mk4: mul cl
mov [si], al
inc si ;//matkul 4
jmp itung

itung: dec si
mov bh, [si] ;//ambil data
dec si
mov bl, [si] ;//ambil data
add bh, bl
dec si
mov bl, [si] ;//ambil data
add bh, bl
dec si
mov bl, [si] ;//ambil data
add bh, bl
mov al, bh
mov cl, 0Ah ;// pembagi 10
div cl
mov [si], ah
inc si
mov [si], al
mov ah,09h

8
PANDUAN PRAKTIKUM BAHASA RAKITAN // PROGRAM STUDI TEKNIK INFORMATIKA 2022/2023

MODUL PRAKTIKUM BAHASA RAKITAN


PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS ISLAM MAKASSAR
SEMESTER GASAL 2022/2023

NAMA :...........................
NIM :....................
KELAS :.......
SEMES. :...............
9

Anda mungkin juga menyukai