PEMROGRAMAN BAHASA RAKITAN
Dosen : Nahar Mardiyantoro,M.Kom
1. Menampilkan karakter beratribut M-A dengan foreground merah background hitam :
.model small
.code
org 100h
mulai:
mov ah,09h
mov bl,00000100b
mov cx,13
lagi:
int 10h
inc bl
mov ah,02h
mov dl,'M'
mov cx,13
ulang:
inc bl
int 21h
dec dl
loop ulang
int 20h
end mulai
hasil dari coding di atas adalah seperti gambar dibawah ini :
Mov ah,09 h berfungsi untuk perintah memasukan , dengan alamat 00000100b akan dimasukan ke bl karakter sebanyak 13 dengan warna merah mov bl,00000100b berfungsi merubah huruf menjadi berwarna merah sedangkan mov cx,13 berfungsi untuk melakukan looping dalam hal ini huruf yang diminta adalah M-A atau A-M = 13 huruf.
Mov ah, 02h merupakan perintah untuk mengcopy atau pindahkan sedangkan mov dl merupakan perintah yang harus berisi bilangan hexa dari karakter ascii yang akan dicetak sehingga digunakan mov dl,'M'.
inc bl berfungsi menambahkan satu karakter sedangkan dec dl mengurangi satu karakter loop ulang maka akan dilakukan perintah looping atau ulangi sebanyak satu karakter dari A sampai M karena dibelakukan decrement atau pengurangan maka akan ditampilkan (int 21h) huruf tercetak dari belakang M-A.
Dengan flowchart :
2. Menampilkan kalimat jika menemukan huruf tertentu maka pencetakan selesai dengan flowchart berikut dan diimplementasikan dalam coding maka :
.model small
.code
org 100h
mulai :
jmp ulang
vkal db 'UTS PBR STMIK WUP$'
ulang :
mov dl, vkal[bx]
mov ah, 02h
int 21h
inc bx
mov ax, bx
cmp ax,10
je exit
jmp ulang
exit : int 20h
end mulai
jmp ulang merupakan perintah lompat, mov dl,vkal [bx] maka dengan alamat vkal[bx] akan dimasukan ke dl. mov ah 02h berpasangan dengan perintah int 21h merupakan perintah untuk menampilkan . inc bx artinya menambah 1 karakter yang ada didalam bx. mov ax, secara khusus register AX digunakan pada operasi aritmatika dalam operasi pembagian dan pengurangan sedangkan bx biasanya digunakan untuk menunjukan suatu alamat offset dari suatu segmen. cmp ax,10 adalah peerintah membandingkan (compare) dengan 10 karakter yang diminta yaitu jika bertemu dengan huruf M maka berhenti mencetak. jika benar maka keluar (je exit) jika masih belum menemukan lompat / looping ke ulang ( jmp ulang ) exit / keluar dan cetak (int 20h). Hasil dari perintah diatas adalah bila kita tuliskan "UTS PBR STMIK WUP" maka ketika bertemu dengan huruf M perintah cetak terhenti sehingga yang tercetak adalah "UTS PBR ST" seperti gambar berikut :
alhamdulillah.... semoga berkenan...