inc
.MODEL SMALL
.DATA
;I DB 0d
SIZE EQU 10
HEAD1 DB
'________________________________________________________________________________',
'$'
HEAD2 DB 10, 13, '!!!1!!!!PROGRAM RAHASIA, BERISI TEXT PENTING DOKUMEN
NEGARA!!!!!!!!','$'
HEAD4 DB 10, 13, '!!!!!!!!PROGRAM RAHASIA, BERISI TEXT PENTING DOKUMEN
NEGARA!!!!!!!!','$'
HEAD3 DB 10, 13,
'________________________________________________________________________________',
'$'
MSG1 DB 13, 10, 'Masukkan ID:$'
MSG2 DB 13, 10, 'Masukkan Password:$'
MSG3 DB 13, 10, 'ERROR, Nomer ID Tidak Ditemukan!$'
MSG9 DB 10, 13, 'ANDA SIAPA?????$'
MSG4 DB 13, 10, 'Password Salah!!$'
MSG11 DB 13, 10, 'TANGKAP!$'
MSG5 DB 13, 10, "Oke, jadi ini rahasianya$"
MSG10 DB 10, 13, "Sebenarnya$"
MSG7 DB 10, 13, "Belajar Praktikum Mikroprosesor itu sangat mengasyikan$"
MSG8 DB 10, 13, "Aku jadi bisa menggunakan EMU8086$"
MSG12 DB 10, 13, "Dan aku jadi paham cara memprogram bahasa Assembly$"
MSG6 DB 13, 10, 'Passwordnya kepanjangaaaaan!$'
TEMP_ID DW 1 DUP(?),0
TEMP_Pass DB 1 DUP(?)
IDSize = $-TEMP_ID
PassSize = $-Temp_Pass
ID DW '42'
Password DB 9
.CODE
MAIN PROC
MOV AX,@DATA ;In
MOV DS,AX
MOV AX,0000H
AGAIN:
MOV AX,ID[SI]
MOV DX,TEMP_ID
CMP DX,AX
JE PASS_PROMPT
INC BL
ADD SI,3
CMP BL,SIZE
JB AGAIN
PASS_PROMPT:
LEA DX,MSG2
MOV AH,09H
INT 21H
Pass_INPUT:
CALL scan_num
CMP CL,0FH
JAE TooLong
MOV BH,00H
MOV DL,Password[BX]
CMP CL,DL
JE CORRECT
DEFINE_SCAN_NUM
DEFINE_GET_STRING
Terminate:
END MAIN