Masukkan Data Mahasiswa:
NIM : 1213455
Nama : Edomaru
JKl (1=Pria, 2= Wanita) : 1
Jurusan : TI
Nilai Tugas : 80
Nilai UTS : 70
Nilai UAS : 90
Berikut data Nilai Mahasiswa:
NIM = 1213455
Nama = Edomaru
JKL = Pria
Jurusan = Teknik Informatika
Nilai Akhir = 80
Nilai Huruf = A
keterangan:
nilai akhir > 80 = A
nilai akhir > 70 < 80 = B
nilai akhir > 55 < 70 = C
nilai akhir > 40 < 55 = D
nilai akhir < 40 = E
=======================================================
Jawab :
.model small
.code
org 100h
mulai: jmp proses
a db 80
b db 70
c db 55
d db 40
tbl_enter equ 0dh ; 0dh=Enter=13
kal0 db 13,10,'Masukkan Data Mahasiswa : $'
Kal1 db 13,10,'Nim: $'
Kal2 db 13,10,'Nama: $'
Kal3 db 13,10,'JKL (1= Pria; 2 = Wanita) : $'
Kal4 db 13,10,'Jurusan: $'
Kal5 db 13,10,'Nilai Tugas : $'
Kal6 db 13,10,'Nilai UTS : $'
Kal7 db 13,10,'Nilai UAS : $'
Kal8 db 13,10,'============================ $'
Jwb1 db 13,10,'Nim: $'
Jwb2 db 13,10,'Nama: $'
Jwb3 db 13,10,'JKL: $'
Jwb4 db 13,10,'Jurusan: $'
Jwb5 db 13,10,'Nilai Akhir: $'
Jwb6 db 13,10,'Nilai huruf: $'
Jawab1 db 26,?,26 dup(?) ;?=menyatakan banyak karakter yang diinputkan
Jawab2 db 26,?,26 dup(?)
Jawab3 db 26,?,26 dup(?)
Jawab4 db 26,?,26 dup(?)
Jawab5 db 3,?,3 dup(?)
Jawab6 db 3,?,3 dup(?)
Jawab7 db 3,?,3 dup(?)
ket0 db 13,10,'Masukkan Data Mahasiswa : $'
ket2 db 13,10,'Berikut Data Nilai Mahasiswa : $'
ket3 db 'Pria $'
ket4 db 'Wanita $'
ket5 db 'Teknik Informatika$'
ket6 db 'A $'
ket7 db 'B $'
ket8 db 'C $'
ket9 db 'D $'
ket10 db 'E $'
proses:
mov ah,09h ; mencetak kalimat
lea dx,kal0
int 21h
mov ah,09h ; mencetak kalimat
lea dx,Kal1
int 21h ; tanya
mov ah,0ah
lea dx,jawab1
int 21h
mov ah,09h ; mencetak kalimat
lea dx,Kal2
int 21h ; cetak ket
mov ah,0ah
lea dx,jawab2
int 21h
mov ah,09h ; mencetak kalimat
lea dx,Kal3
int 21h ; tanya
mov ah,0ah
lea dx,jawab3
int 21h
mov ah,09h ; mencetak kalimat
lea dx,Kal4
int 21h ; tanya
mov ah,0ah
lea dx,jawab4
int 21h ; catat
mov ah,09h ; mencetak kalimat
lea dx,Kal5
int 21h ; tanya
mov ah,0ah
lea dx,jawab5
int 21h ; catat
;mov a,bx
mov ah,09h ; mencetak kalimat
lea dx,Kal6
int 21h ; tanya
mov ah,0ah
lea dx,jawab6
int 21h
;mov b,bx
mov ah,09h ; mencetak kalimat
lea dx,Kal7
int 21h ; tanya
mov ah,0ah
lea dx,jawab7
int 21h
;mov c,bx
mov ah,09h
lea dx,Kal8
int 21h
mov ah,09h ; mencetak kalimat
lea dx,Ket2
int 21h
cetak:
mov ah,09h ; mencetak kalimat
lea dx,Jwb1
int 21h
lea bx,jawab1+2 ; menunjuk byte ke-2 dari jawab
ulang:
cmp byte ptr [bx],tbl_enter ; apakah karakter enter
je cetak2
mov dl,[bx]
mov ah,02h ; mencetak karakter
int 21h
inc bx
jmp ulang
cetak2:
mov ah,09h
lea dx,Jwb2
int 21h ; catat
lea bx,jawab2+2 ; menunjuk byte ke-2 dari jawab
ulang2 :
cmp byte ptr [bx],tbl_enter ; apakah karakter enter
je cetak3
mov dl,[bx]
mov ah,02h ; mencetak karakter
int 21h
inc bx
jmp ulang2
cetak3:
mov ah,09h
lea dx,Jwb3
int 21h ; catat
lea bx,jawab3+2 ; menunjuk byte ke-2dari jawab
cmp byte ptr [bx],'1'
je Pa
cmp byte ptr [bx],'2'
je Wa
ulang3 :
cmp byte ptr [bx],tbl_enter ; apakah karakter enter
je cetak4
mov dl,[bx]
;mov ah,02h ; mencetak karakter
;int 21h
inc bx
jmp ulang3
Pa:
mov ah,09h
lea dx,ket3
int 21h
jmp ulang3
Wa:
mov ah,09h
lea dx,ket4
int 21h
jmp ulang3
cetak4:
mov ah,09h
lea dx,Jwb4
int 21h ; catat
lea bx,jawab4+2 ; menunjuk byte ke-2dari jawab
cmp byte ptr [bx],"t"
je nb
cmp byte ptr [bx],"T"
je nb
ulang4 :
cmp byte ptr [bx],tbl_enter ; apakah karakter enter
je cetak5
inc bx
jmp ulang4
nb:
mov ah,09h
lea dx,ket5
int 21h
jmp ulang4
cetak5:
mov ah,09h
lea dx,Jwb5
int 21h ; catat
lea bx,jawab5+2
ulang5 :
cmp byte ptr [bx],tbl_enter ; apakah karakter enter
je cetak6
mov dl,[bx]
mov ah,02h ; mencetak karakter
int 21h
inc bx
jmp ulang5
cetak6:
mov ah,09h
lea dx,Jwb6
int 21h ; catat
lea bx,jawab6+2 ; menunjuk byte ke-2dari jawab
mov al,a
cmp al,jawab5+2
;jb Bb
je Aa
;ja Aa
mov al,b
cmp al,jawab5+2
cmp al,b
;jb Cc
je Bb
;ja Bb
mov al,c
cmp al,jawab5+2
cmp al,c
;jb Dv
je Cc
;ja Cc
mov al,d
cmp al,jawab5+2
;jb Ee
je Dv
;ja Dv
ulang6 :
cmp byte ptr [bx],tbl_enter ; apakah karakter enter
je keluar
mov dl,[bx]
;mov ah,02h ; mencetak karakter
;int 21h
inc bx
jmp ulang6
Aa:
mov ah,09h
lea dx,ket6
int 21h
jmp ulang6
Bb:
mov ah,09h
lea dx,ket7
int 21h
jmp ulang6
Cc:
mov ah,09h
lea dx,ket8
int 21h
jmp ulang6
Dv:
mov ah,09h
lea dx,ket9
int 21h
jmp ulang6
Ee:
mov ah,09h
lea dx,ket10
int 21h
jmp ulang6
keluar :
int 20h
end mulai

0 komentar:
Posting Komentar