Anda di halaman 1dari 1

Nama : M.

Irfan Gustian
NIM : 1900018096
Slot : Selasa 09.00

.MODEL SMALL
.CODE
ORG 100h
tdata: jmp proses ;register jmp digunakkan untuk melompat menuju ke tempat yg diperintah
lusername db 13,10,'Username : $' ;db digunakkan untuk mendefinisikan nilai pada variabel yang dibuat
lpassword db 13,10,'Password : $' ;13 dan 10 digunakkan untuk pindah baris dan menuju kolom 0 kembali
lditerima db 13,10,'Diterima $’ ;$ digunakkan untuk mengakhiri kalimat
lditolak db 13,10,'Ditolak $'

vusername db 23,?,23 dup(?) ;menyiapkan variable untuk inputan keyboard yang belum diketahui nilai awalnya
vpassword db 23,?,23 dup(?) ;menyiapkan variable untuk inputan keyboard yang belum diketahui nilai awalnya

proses:
mov ah,09h ; nilai servis untuk mencetak karakter
lea dx, lusername ; karakter akan dicetak yang diambil dari lusername
int 21h ; cetak kalimat hingga tanda $

mov ah,0ah ; servis input dari user


lea dx, vusername ; menunjuk pada offset vusername
int 21h ; input kalimat

mov ah,09h ; nilai servis untuk mencetak karakter


lea dx, lpassword ; karakter yang akan dicetak dari lpassword
int 21h ; cetak kalimat hingga tanda $

mov ah,0ah ; servis input dari user


lea dx, vpassword ; menunjuk pada offset vpassword
int 21h ; input kalimat

lea si,vusername ; si = sumber


lea di,vpassword ; di = tujuan

cld ; arah proses menaik


mov cx,23 ; banyaknya pengulangan yang dilakukan
rep cmpsb ; bandingkan selama sama
jne gagal ; jika tidak sama lompat ke gagal

mov ah,09h ; servis untuk cetak karakter


lea dx,lditerima ; karakter yang akan dicetak diambil dari lditerima
int 21h ; cetak kalimat
jmp exit ; lompat ke exit
gagal:
mov ah,09h ; servis untuk cetak karakter
lea dx,lditolak ; karakter yang akan dicetak diambil dari lditolak
int 21h ; cetak kaliamat
jmp proses ; melompat kembali ke proses
exit:
int 20h ; menyerahkan kembali ke dos
end tdata ; program selesai

Anda mungkin juga menyukai