汇编源代码之硬盘保护锁
2009-01-28 09:37:08 来源:WEB开发网CALL NEAR PTR PWENTER
MOV SI,0F1B0H
MOV DI,0E1B0H
MOV CX,8H
REPE CMPSB
JNZ EXIT2
MOV AX,0201H
MOV CX,0003H
MOV BX,0F000H
MOV DX,0080H
INT 13H
MOV AX,0301H
MOV CX,0001H
MOV BX,0F000H
MOV DX,0080H
INT 13H
MOV DH,03H
MOV DL,00H
MOV BH,00H
MOV AH,02H
INT 10H
MOV AH,06H
MOV AL,00H
MOV BH,07H
MOV CX,0000H
MOV DX,184FH
INT 10H
MOV AH,09H
MOV DX,OFFSET D14
INT 21H
JMP EXIT
EXIT2:
MOV AH,09H
MOV DX,OFFSET D8
INT 21H
MOV AH,4CH
INT 21H
;子程序用于从键盘读密码
PWENTER PROC NEAR
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AX,0600H
MOV BH,0F0H
MOV CX,0000H
MOV DX,184FH
INT 10H
MOV DL,1AH
MOV SI,OFFSET D5
DISPLAY:
MOV AH,02H
MOV DH,10H
MOV BH,00H
INT 10H
MOV AL,[SI]
CMP AL,00H
JE GETPW
MOV AH,09H
MOV CX,01H
MOV BH,00H
MOV BL,70H
INT 10H
INC DL
INC SI
JMP DISPLAY
GETPW:
MOV CX,0004H
MOV AH,0000H
MOV DI,0F1B0H
REPZ STOSW
MOV CX,0009H
MOV DI,0F1B0H
MOV DL,23H
READKEY:
MOV AH,00H
INT 16H
CMP AL,0DH
JE OK
CMP AL,20H
JE READKEY
CMP AL,00H
JE READKEY
CMP AL,09H
JE READKEY
CMP AL,1BH
JE AESC
PUSH CX
MOV AH,02H
MOV DH,10H
MOV BH,00H
INT 10H
POP CX
CMP AL,08H
JE BACKSPACE
PUSH AX
MOV AH,0EH
MOV AL,2AH
MOV BL,07H
INT 10H
POP AX
ADD AL,23H
MOV [DI],AL
INC DI
DEC CX
CMP CX,00H
JE OVERFLOW
INC DL
JMP READKEY
OK:
POP AX
POP BX
POP CX
POP DX
RET
AESC:
更多精彩
赞助商链接