Input Keyboard dengan Percabangan Pada Assembly

Assalamu'alakum

Pada kesempatan kali ini akan membahas bagaimana membuat program input dengan disertai perbandingan.

Berikut langkah yang dilakukan.

Siapkan aplikasi Asseblernya. Silahkan download di sini.

Buka CMD atau bisa digantikan DOSBox sebagai compiler program.

Siapkan text editor untuk mengretikkan kode program,misalnya notepad,edit,dll.  

Dalam program ini kita menggunakan interupsi 16 bit. Data yang kita masukkan akan disimpan dalam register AX.

Program yang akan kita buat akan sperti berikut.

Jika nilai <= 5  maka hasilnya Tidak Lulus
Jika nilai   > 5   maka hasilnya lulus
Jika nilai   > 8   maka hasilnya Lulus Cumlaud

contoh program :

.model small
.code
org 100h


mulai   : jmp proses
        pertanyaan db 'Masukkan nilai Anda : $'
        kal1 db 10,'Anda Lulus $'
        kal2 db 10,'Anda Tidak Lulus $'
        kal3 db 10,'Anda Lulus Cumlaude $'

proses  :
        lea dx,pertanyaan
        mov ah,9h
        int 21h

        mov ah,0
        int 16h
        push ax

        pop ax
        mov dl,al
        mov ah,2
        int 21h

        cmp al,'5'
        jbe tlulus

        cmp al,'8'
        ja cumalude

        cmp al,'5'
        ja lulus

lulus   :
        lea dx,kal1
        mov ah,9h
        int 21h
        jmp exit

tlulus    :
        lea dx,kal2
        mov ah,9h
        int 21h
        jmp exit

cumalude  :
        lea dx,kal3
        mov ah,9h
        int 21h
        jmp exit

exit    :int 20h       
end     mulai

Simpan dengan ekstensi *.ASM, kemudian compile dengan perintah tasm 'namaprogram' dilanjutkan dengan tlink/t 'namaprogram' . Selanjutnya jalankan program

Ketika kita memasukkan nilai maka akan terjadi perbandingan nilai seperti diatas.

Contoh 2.

Membuat perbandingan umur dengan parameter sebagai berikut.

Jika <= 1 maka hasilnya anda masih balita
Jika < 2 maka hasilnya anda masih anak-anak
jika > 3 maka hasilnya anda masih remaja
jika > 4 maka hasilnya anda sudah dewasa

Berikut kode programnya

.model small
.code
org 100h


mulai   : jmp proses
        pertanyaan db 'Masukkan umur Anda : $'
        kal1 db 10,'Anda masih anak-anak $'
        kal2 db 10,'Anda msih balita $'
        kal3 db 10,'Anda masih remaja $'
        kal4 db 10,'Anda sudah dewasa $'

proses  :
        lea dx,pertanyaan
        mov ah,9h
        int 21h

        mov ah,0
        int 16h
        push ax

        pop ax
        mov dl,al
        mov ah,2
        int 21h

        cmp al,'1'
        jbe balita

        cmp al,'4'
        ja dewasa

        cmp al,'3'
        ja remaja

        cmp al,'2'
        ja anak

balita   :
        lea dx,kal2
        mov ah,9h
        int 21h
        jmp exit

anak    :
        lea dx,kal1
        mov ah,9h
        int 21h
        jmp exit

dewasa  :
        lea dx,kal4
        mov ah,9h
        int 21h
        jmp exit

remaja  :
        lea dx,kal3
        mov ah,9h
        int 21h
        jmp exit

exit    :int 20h       
end     mulai

Ketika program dijalankan maka akan menghasilkan seperti berikut.


Terimakasih.

Wassalamu'alaykum

Posting Komentar