Sabtu, 15 Oktober 2011

PEMROGRAMAN BAHASA RAKITAN


UTS PRAKTEK
PEMROGRAMAN BAHASA RAKITAN
Dosen : Nahar Mardiyantoro, M.Kom

1.       Menampilkan karakter beratribut M-A dengan foreground merah dan background hitam :
Flowchart :

.model small
.code
org 100h
mulai:
        mov ah,09h
        mov bl,00001100b
        mov cx,13           
int 10h         
a:
        mov ah,02h
        mov dl,77
        mov cx,13
ulang:
        int 21h
        dec dl
        loop ulang
int 20h
end mulai


jika coding tersebut dijalankan akan tampak seperti dalam gambar berikut :


Mov ah,09h adalah perintah untuk memasukan instruksi dengan alamat mov bl,00001100b. Intruksi mov bl,00001100b berfungsi untuk merubah karakter hasilnya menjadi warna merah. Mov cx,13 adalah perulangan sebanyak 13 kali perulangan yang dalam coding diatas akan menampilkan 13 karakter dimulai dari huruf M sampai dengan A. Mov ah,02h adalah perintah untuk mengcopy atau memindahkan. Mov dl,77 adalah intruksi yang berisi bilangan hexa yang merupakan karakter ascii yang akan dicetak. 77 adalah ascii dari “M”.  Karena hasil yang akan ditampilkan adalah pengurangan dari huruf M – A, maka menggunakan dec dl. Perulangan akan berlaku hingga nilai dl = 64 baru stop.

2.       Menampilkan kalimat jika menemukan huruf tertentu maka pencetakan selesai.
Flowchart :



Coding :
.model small
.code
org 100h
mulai :
            jmp ulang
            vkal db 'ARI DWIJAYANTI$'
ulang :
            mov dl, vkal[bx]
            mov ah, 02h
            int 21h
            inc bx
            mov ax, bx
            cmp ax,9
            je keluar
            jmp ulang
        keluar: int 20h

end mulai
 
Jika dijalankan :


 Jmp adalah perintah loncat/lompat. mov dl,vkal [bx] maka dengan alamat vkal[bx] akan dimasukan ke dl, yang dalam intruksi di atas berisi ARI DWIJAYANTI. mov ah 02h pasangan dengan int 21h merupakan perintah untuk menampilkan . inc bx  artinya mengurangi 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,9 adalah perintah membandingkan (compare) dengan 9 karakter yang diminta yaitu jika bertemu dengan huruf Y maka akan berhenti mencetak. Jika sudah bertemu dengan karakter yang dimaksud maka akan keluar. Sebaliknya selamat belum menemukan huruf Y, maka instruksi akan diulang terus.


0 komentar:

Posting Komentar

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | Best Buy Printable Coupons