Pemrograman Bahasa Rakitan | Mencari Hasil Penjumlahan dan Rata-Rata di Assembly

Dibawah ini merupakan listing program assembly untuk menampilkan hasil penjumlahan dan rerata dari beberapa bilangan yang diinputkan. Sebelumnya banyaknya bilangan, diinput oleh user sendiri.

Priview :

Listing Programnya :
cetak_kal macro kal
mov ah,09h
lea dx,kal
int 21h
endm
cetak_angka macro angka
mov al,angka
cmp al,09h
jg duadigit
mov dl,al
mov ah,02h
int 21h
duadigit:
xor ax,ax
mov al,angka
mov bl,10
div bl
mov bh,ah
mov dl,al
or dl,30h
mov ah,2
int 21h
mov dl,bh
or dl,30h
mov ah,2
int 21h
endm

.model small
.code
org 100h
mulai: jmp proses
val1 db ?
val2 db ?
label1  db 13,10,'Jumlah data : $'
label2  db 13,10,'Masukkan angka : $'
label3  db 13,10,'Rata-rata : $'
label4  db 13,10,'Jumlah semua : $'
proses:
cetak_kal label1 ;cetak kalimat "Masukkan angka : "
mov ah, 01h ;ambil jumlah angka
int 21h ;ambil jumlah angka
sub al, 30h ;kurangkan hasil inputan dengan 30
mov cl, al ;copy ke register cl (untuk jumlah perulangan) dari al (hasil inputan tadi)
mov bl, al ;copy ke register bl (untuk pembagi rata2) dari al (hasil inputan tadi)
mov al, 00 ;copy ke register al = 00
mov val1, al ;isi variabel sementara val1 dengan al = 0
lbl2: ;cetak label2 (Masukkan angka : )
cetak_kal label2 ;cetak label2 dengan makro cetak_kal
mov ah, 01h ;ambil hasil angka inputan ke-"cl"
int 21h ;ambil hasil angka inputan
sub al, 30h ;kurangkan hasil inputan dengan 30
add al, val1 ;tambahkan al(hasil inputan barusan) dengan val1
mov val1, al ;isikan val1, dengan al (hasil val1+inputan)
loop lbl2 ;melakukan perulangan sebanyak "cl" (kembali ke lbl1)
rata2: cetak_kal label3 ;cetak label3 (Rata-rata : ) dengan makro cetak_kal
mov ax, 00 ;copy ke register ax = 00
mov al, val1 ;copy ke register ax = val1 (hasil penjumlahan inputan angka)
div bl ;bagi al, dengan bl (jumlah angkan yang diinput di atas)
add ax, 3030h ;tambahkan ax == 00, dengan 3030
mov dx, ax ;copy ke register dx = ax (00+3030)
mov ah, 02h ;cetak dx (rata-rata)
int 21h
jumlah: cetak_kal label4 ;cetak label4 (Jumlah semua : )
cetak_angka val1 ;cetak nilai val1 (hasil penjumlahan inputan)
mov ah, 4ch
int 21h
end mulai

DOWNLOAD

Comments

  1. ma sbantu donk..disini ada case

    Case 1.
    Menghitung nilai dari persamaan X= 4b+a.c-2
    1. Input keyboard character ASCII (sesuai selera anda), maka tampil pada layar :
    X = 4b + a .c – 2 dan perintah “masukkan nilai a=...”
    2. Input keyboard chartr ASCII untuk nilai a (hanya tipe numeric), tampil ppada layar “ masukkan nilai b =....”. jika bukan numerik maka akan tampil “input salah!!! Masukkan tipe numeric !b = ....”
    3. Input keyboard chharacter, ASCII untuk nilai b )hanya tipe numeric), tampil pada layar “ masukkan nilai c = ...”jika bukan numeric maka tampil “input salah !! masukkan tipe numeric ! c = ...
    4. Input keyboard character ASCII untuk nilai c ( hanya tipe numeric), jika bukan numeric maka tampil “input salah !! masukkan tipe numeric ! b = ....”
    5. Tekan enter untuk menampilkan hasil X = ....’’ (nilai harus benar)
    6. Tekan Q “selesai, terima kasih “

    ReplyDelete

Post a Comment

Popular posts from this blog

Download Aplikasi Ujian Online dengan Codeigniter, Ajax, JSON

Langkah-langkah install aplikasi ujian online berbasis web

Cara setting aplikasi ujian online di jaringan untuk banyak komputer client