?? 1.asm
字號:
;FILENAME:1.ASM
.486
DISP MACRO Y,X,LENGTH,FLAG,VAR
MOV AX,1301H
MOV BX,COLOR
MOV CX,LENGTH
MOV DH,Y
MOV DL,X
IF FLAG EQ 0
MOV BP,OFFSET VAR
ELSE
MOV BP,VAR
ENDIF
INT 10H
ENDM
DATA SEGMENT USE16
YYY EQU 2
XXX EQU 60
COLOR DW 5FH
L1 DB 201,XXX DUP(205),187
L2 DB 186,XXX DUP(' '),186
L3 DB 200,XXX DUP(205),188
LL EQU $-L3
XX EQU (80-LL)/2
L4 DB 'PASSWORD:'
L EQU $-L4
COUNT DW 0
MIMA DB 'ABCD'
BUF DB 10 DUP(?)
FALSE DB 0AH,0DH, 'FAILED!$'
PASS DB 0DH,0AH,'PASSED!$'
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA,ES:DATA
BEG: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AX,3
INT 10H
DISP YYY+0,XX,LL,0,L1
DISP YYY+1,XX,LL,0,L2
DISP YYY+2,XX,LL,0,L3
LAST: INC COUNT
DISP YYY+1,XX+1,COUNT,0,L4
CMP COUNT,L
JNZ LAST
CALL PASSWORD
MOV AH,4CH
INT 21H
PASSWORD PROC
BEG1: MOV BX,0
MOV DI,OFFSET BUF
LAST1: MOV AH,07H
INT 21H
CMP AL,0DH
JZ NEXT
MOV BYTE PTR [DI],AL
INC DI
MOV AH,02H
MOV DL,'*'
INT 21H
INC BX
JMP LAST1
NEXT: CMP BX,4
JNZ FAIL
DEC DI
MOV SI,OFFSET MIMA+3
MOV CX,4
STD
REPE CMPSB
JZ EXIT
FAIL: MOV AH,2
MOV DL,0AH
INT 21H
MOV AH,09H
MOV DX,OFFSET FALSE
INT 21H
MOV AH,4CH
INT 21H
EXIT: MOV AH,2
MOV DL,0AH
INT 21H
MOV AH,09H
MOV DX,OFFSET PASS
INT 21H
RET
PASSWORD ENDP
CODE ENDS
END BEG
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -