Minggu, 22 Januari 2012

Input Output Dengan Menu (assembler)


vew_satu macro data
mov ah,09h
lea dx,data
int 21h
mov ah,0        ; servis input satu karakter
int 16h            ; untuk inputan keyboard dan dsimpan di ax
push ax            ; simpan nilai ax
cmp al,00        ; apakah karakter extendet ?
je extended        ; kalo iya, lompat ke extended
lea dx,tbl_ascii ; catat keterangan
mov ah,09h        ; servis cetak kalimat
int 21h            ; kerjake dab !
pop ax            ; ambil nilai ax (setelah di push)
mov dl,al        ; catat nilai al
mov ah,02h        ; servis opo meneh hayoo...
int 21h
endm
input macro tak
mov ah,09h
lea dx,tak
int 21h
endm
simpan macro jab
mov ah,0ah
lea dx,jab
int 21h
endm
call_jwb macro a, simpan, b
local ulang
input a
lea bx,simpan+2
ulang:
cmp byte ptr [bx],tbl_enter    ; apakah karakter enter
je b
mov dl,[bx]
mov ah,02h
int 21h
inc bx
jmp ulang
endm
.model small
.code
org 100h
mulai:    jmp proses
tbl_ascii db 13,10,' '
db '$'
tbl_extended db 13,10,' '
db 'Extended $'
tbl_enter equ 0dh
no              db 13,10,'NO.NIM        : $'
nama          db 13,10,'Nama        : $'
alamat      db 13,10,'Alamat        : $'
lahir          db 13,10,'Nilai Ijazah    : $'
tgl          db 13,10,'No. Ijazah    : $'
pekerjaan   db 13,10,'Alamat Sekolah    : $'
jk          db 13,10,'Asal Sekolah    : $'
garis         db 13,10,'=======================$'
db 13,10,'$'
Jawab1      db 26,?,26 dup(?)
Jawab2      db 26,?,26 dup(?)
Jawab3      db 26,?,26 dup(?)
Jawab4      db 26,?,26 dup(?)
Jawab5      db 26,?,26 dup(?)
Jawab6      db 26,?,26 dup(?)
Jawab7      db 26,?,26 dup(?)
pilihan db 13,10,'======================================'
db 13,10,'1.Entry '
db 13,10,'2.Tampilkan '
db 13,10,'Q.Keluar '
db 13,10,'=============================Pilihlah.. '
db 13,10,'$'
proses:
vew_satu pilihan
cmp al,'1'
je masukan
cmp al,'2'
je tamp
cmp al,'q'
je keluar
jmp proses
keluar:
int 20h
extended :
lea dx,tbl_extended
mov ah,09h
int 21h
masukan :
input no
simpan jawab1
input nama
simpan jawab2
input alamat
simpan jawab3
input lahir
simpan jawab4
input tgl
simpan jawab5
input pekerjaan
simpan jawab6
input jk
simpan jawab7
jmp proses
tamp :
call_jwb no, jawab1, n
n:
call_jwb nama, jawab2, ala
ala:
call_jwb alamat, jawab3, la
la:
call_jwb lahir, jawab4, tg
tg:
call_jwb tgl, jawab5, pe
pe:
call_jwb pekerjaan, jawab6, ju
ju:
call_jwb jk, jawab7, sau
sau:
jmp proses
end mulai

                                                        Tugas Matakuliah Praktek Bahasa Rakitan#pertemuan 4

Tidak ada komentar:

Posting Komentar