Senin, 10 Oktober 2011

UTS PRAKTEK PBR

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...



Tidak ada komentar:

Posting Komentar