Belajar Assembler

Membuat Program sederhana Input biodata NIM,NAMA,Kelompok…..

.MODEL SMALL
.CODE
ORG 100H
MULAI: jmp cetak
menu     db’Bambang S/Sir200704′
db 13,10,’Menu Utama:’
db 13,10,’1. biodata’
db 13,10,’2. Keluar$’
pilihan db 13,10,’Pilihan [1-2]: $’

biodata db’BIODATA$’
nim     db 13,10,’NIM      : $’
nama    db 13,10,’Nama     : $’
kel     db 13,10,’Kelompok : $’

inputnim db 15,?,15 dup(?)
inputnama db 31,?,31 dup(?)
inputkel db 13,10,8,?,8 dup(?)

back db 13,10,’Kembali ke menu utama[Y/T]$’
pilih2 db 13,10,’1. untuk menampilkan data’
db 13,10,’2. untuk kembali ke menu utama’
db 13,10,’Pilih salah satu [1/2]:$’

cetak:     mov ax,03h
int 10h

mov ah,09h
mov dx,offset menu
int 21h

mov ah,09h
mov dx,offset pilihan
int 21h

mov ah,01h
int 21h

cmp al,’1′
je bio

cmp al,’2′
jmp selesai

bio:     mov ax,03h
int 10h

mov ah,09h
mov dx,offset biodata
int 21h

mov ah,09h
mov dx,offset nim ;label nim…..
int 21h

mov ah,0ah
mov dx,offset inputnim ;inputan nimmmmm
push dx
int 21h

MOV BX,OFFSET inputnim  ;proses nim…………….
inc BX            ; BX = BX + 1

MOV DL,[BX]            ; ISI DX DENGAN [BX]
XOR DH,DH            ;DH = 0
inc BX
ADD BX,DX

MOV DL,’$’
MOV [BX],DL            ;MASUKAN DL KE [BX] ;nim…

mov ah,09h
mov dx,offset nama  ;nama……
int 21h

mov ah,0ah
mov dx,offset inputnama
push dx
int 21h

MOV BX,OFFSET inputnama ;nama…………….
inc BX            ; BX = BX + 1

MOV DL,[BX]            ; ISI DX DENGAN [BX]
XOR DH,DH            ;DH = 0
inc BX
ADD BX,DX

MOV DL,’$’
MOV [BX],DL            ;MASUKAN DL KE [BX]

mov ah,09h
mov dx,offset kel ;label kelompk….
int 21h

mov ah,0ah
mov dx,offset inputkel ;inputan kel…
push dx
int 21h

MOV BX,OFFSET inputkel  ;proses kel…………….
inc BX            ; BX = BX + 1

MOV DL,[BX]            ; ISI DX DENGAN [BX]
XOR DH,DH            ;DH = 0
inc BX
ADD BX,DX

MOV DL,’$’
MOV [BX],DL

;pilihan…..
mov ah,09h
mov dx,offset pilih2
int 21h

mov ah,01h
int 21h

cmp al,’1′
je output
cmp al,’2′
jmp cetak

;output……
Output:
mov ax,03h
int 10h

mov ah,09h
MOV DX,OFFSET biodata
MOV AH,09H
INT 21H

MOV DX,OFFSET nama    ;CETAK nim ;…nim
MOV AH,09H
INT 21H

POP DX            ;AMBIL DX DARI STACK
inc DX
inc DX

MOV AH,09H
INT 21H

MOV DX,OFFSET nim    ;CETAK nim ;…nama
MOV AH,09H
INT 21H

POP DX            ;AMBIL DX DARI STACK
inc DX
inc DX

MOV AH,09H
INT 21H

MOV DX,OFFSET kel    ;CETAK kel;…nama
MOV AH,09H
INT 21H

POP DX            ;AMBIL DX DARI STACK
inc DX
inc DX

MOV AH,09H
INT 21H

mov ah,09h
mov dx,offset back
int 21h

mov ah,01h
int 21h

cmp al,’y’
jmp cetak

cmp al,’t’
jmp bio

selesai: int 20h

end mulai

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s