How to create "Input and Output" Text via keyboard on assembly

You can create some data input and print your input via keyboard. Write your code like this :
.model small
.code
    org 100h
mulai:    jmp proses
    tbl_enter equ 0dh    ; 0dh=Enter
    Tanya      db 10,30, 'NIP : $'
    tanya1 db 10,30, 'Nama : $'
    tanya2 db 10,30, 'Alamat : $'
    tanya3 db 10,30, 'JK : $'
    tanya4 db 10,30, 'stts : $'
    tanya5 db 10,30, 'jmlh anak : $'
    tanya6 db 10,30, 'jabatan : $'
   
    ket db 10,30, 'NIP Anda : $'   
    ket1 db 10,30, 'Nama anda : $'
    ket2 db 10,30, 'Alamat Anda : $'
    ket3 db 10,30, 'JK Anda : $'
    ket4 db 10,30, 'Status Anda : $'
    ket5 db 10,30, 'Jmlh anak Anda : $'
    ket6 db 10,30, 'Jabatan Anda : $'
    tunjangan db 10,30, 'tunjangan anda 200.000 $'
    anak1 db 10,30, 'tunjangan anda 200.000 $'
    anak2 db 10,30, 'tunjangan anda 300.000 $'
    anak3 db 10,30, 'tunjangan anda 400.000 $'
    Jawab      db 26,?,26 dup(?)
    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(?)
proses:
    mov ah,09h   
    lea dx,tanya
    int 21h            ; tanya
    mov ah,0ah
    lea dx,jawab
    int 21h            ; catat
   
    mov ah,09h   
    lea dx,tanya1
    int 21h            ; tanya
    mov ah,0ah
    lea dx,jawab1
    int 21h            ; catat
    mov ah,09h   
   
    lea dx,tanya2
    int 21h            ; tanya
    mov ah,0ah
    lea dx,jawab2
    int 21h            ; catat
    mov ah,09h
    lea dx,tanya3
    int 21h            ; tanya
    mov ah,0ah
    lea dx,jawab3
    int 21h            ; catat
    mov ah,09h
    lea dx,tanya4
    int 21h            ; tanya
    mov ah,0ah
    lea dx,jawab4
    int 21h            ; catat
    mov ah,09h
    lea dx,tanya5
    int 21h            ; tanya
    mov ah,0ah
    lea dx,jawab5
    int 21h            ; catat
    mov ah,09h
    lea dx,tanya6
    int 21h            ; tanya
    mov ah,0ah
    lea dx,jawab6
    int 21h            ; catat
   
    mov ah,09h
    lea dx,ket
    int 21h            ; cetak ket
       
    lea bx,jawab+2        ; menunjuk byte ke-2 dari jawab
ulang1:   
    cmp byte ptr [bx],tbl_enter    ; apakah karakter enter
    je tampil1
    mov dl,[bx]
    mov ah,02h
    int 21h       
    inc bx
    jmp ulang1
tampil1:
    mov ah,09h
    lea dx,ket1
    int 21h            ; cetak ket
       
    lea bx,jawab1+2        ; menunjuk byte ke-2 dari jawab
ulang2:
    cmp byte ptr [bx],tbl_enter    ; apakah karakter enter
    je tampil2
    mov dl,[bx]
    mov ah,02h
    int 21h       
    inc bx
    jmp ulang2
tampil2:
    mov ah,09h
    lea dx,ket2
    int 21h            ; cetak ket
       
    lea bx,jawab2+2        ; menunjuk byte ke-2 dari jawab
ulang3:
    cmp byte ptr [bx],tbl_enter    ; apakah karakter enter
    je tampil4
    mov dl,[bx]
    mov ah,02h
    int 21h       
    inc bx
    jmp ulang3
tampil4:
    mov ah,09h
    lea dx,ket3
    int 21h            ; cetak ket
       
    lea bx,jawab3+2        ; menunjuk byte ke-2 dari jawab

ulang4:
    cmp byte ptr [bx],tbl_enter    ; apakah karakter enter
    je tampil5
    mov dl,[bx]
    mov ah,02h
    int 21h       
    inc bx
    jmp ulang4
tampil5:
    mov ah,09h
    lea dx,ket4
    int 21h            ; cetak ket
       
    lea bx,jawab4+2        ; menunjuk byte ke-2 dari jawab
ulang5:
    cmp byte ptr [bx],tbl_enter    ; apakah karakter enter
    je tampil6
    mov dl,[bx]
    mov ah,02h
    int 21h       
    inc bx
    jmp ulang5
tampil6:
    mov ah,09h
    lea dx,ket5
    int 21h            ; cetak ket
       
    lea bx,jawab5+2        ; menunjuk byte ke-2 dari jawab
ulang6:
    cmp byte ptr [bx],tbl_enter    ; apakah karakter enter
    je tampil7
    mov dl,[bx]
    mov ah,02h
    int 21h       
    inc bx
    jmp ulang6
tampil7:
    mov ah,09h
    lea dx,ket6
    int 21h            ; cetak ket
       
    lea bx,jawab6+2        ; menunjuk byte ke-2 dari jawab


ulang7:   
    cmp byte ptr [bx],tbl_enter    ; apakah karakter enter
    je itung
    mov dl,[bx]
    mov ah,02h
    int 21h       
    inc bx
    jmp ulang7

itung:
    cmp jawab4,"n"
    je cetak

cetak:
    mov ah,09h
    lea dx,tunjangan
    int 21h
itung1:
    cmp jawab5,1
    je cetak1
    int 21h
    jne itung2
itung2:
    cmp jawab5,2
    je cetak2
    int 21h
    jne itung3
itung3:
    cmp jawab5,3
    je cetak3
    int 21h
    jne keluar
cetak1:
    mov ah,09h
    lea dx,anak1
    int 21h
cetak2:
    mov ah,09h
    lea dx,anak2
    int 21h
cetak3:
    mov ah,09h
    lea dx,anak3
    int 21h


keluar:
    int 20h
end mulai       

enjoy!
Previous
Next Post »