Professional Documents
Culture Documents
PASSWORD Checking Using 8086 ΜP
PASSWORD Checking Using 8086 ΜP
code segment
assume cs:code,DS:data
mov ax,data
mov ds,ax
mov es,ax
lea si,arrays
lea di,arrayd
mov cl,count
cld
repz cmpsb
mov ah,4ch
int 21h
code ends
data segment
org 1200h
count db (?)
arrays db 5 dup (?)
arrayd db 5 dup (0)
data ends
End
code segment
assume cs:code,DS:data
mov ax,data
mov ds,ax
mov es,ax
lea di,arrays
mov ax,[di]
inc di
inc di
mov cx,count
cld
repne scasw
dec di
dec di
int 3
code ends
data segment
org 1200h
count dw (?)
arrays dw 5 dup (?)
data ends
end
MOV SI,00
UP1:MOV AH,08H
INT 21H
CMP AL,0DH (0D CARRIAGE RETURN)
JE DOWN
MOV [INST+SI],AL
if there is no character in the keyboard buffer, the function waits until
any key is pressed
DOWN:MOV BX,00
MOV CX,LEN
CODE SEGMENT
ASSUME CS:CODE,DS:DATA CHECK:MOV AL,[INST+BX]
MOV DL,[PASSWORD+BX]
START:MOV AX,DATA
CMP AL,DL
MOV DS,AX
JNE FAIL
LEA DX,MSG1
INC BX
MOV AH,09H
LOOP CHECK
INT 21H
LEA DX,MSG2
MOV SI,00
MOV AH,09H
UP1:
MOV AH,08H
INT 21H
INT 21H
JMP FINISH
CMP AL,0DH
FAIL:LEA DX,MSG3
JE DOWN
MOV AH,009H
MOV [INST+SI],AL
INT 21H
MOV DL,'*'
FINISH:INT 3
MOV AH,02H
CODE ENDS
INT 21H
END START
I
NC SI
END
JMP UP1
23.15,15.15