?? banksystem.asm
字號:
DATAS SEGMENT
STRING0 DB 'PLEASE INPUT YOUR 6 PASSWORD:',0DH,0AH,'$'
STRING1 DB 'WELCOME TO THE SYSTEM!',0DH,0AH
STRING2 DB 0DH,0AH,'A:LEAVE THE SYSTEM!',0DH,0AH
STRING3 DB 'B:DISPLAY THE NUMBER!',0DH,0AH
STRING4 DB 'C:SAVE THE MONEY!',0DH,0AH
STRING5 DB 'D:TAKE OUT THE MONEY!',0DH,0AH
STRING6 DB 0DH,0AH,'CHOOSE THE NUMBER:',0DH,0AH,'$'
STRING7 DB 'PLEASE INPUT YOUR 6 PASSWORD AGAIN',0DH,0AH,'$'
PASSWORD DB 'S','Z','Q','X','Y','F'
INPD DB ?,?,?,?,?,?
COUNT DB ?
FUNB DB 0DH,0AH,'YU E :',0DH,0AH,'$'
FUNC DB 0DH,0AH,'THE NUMBER YOU WANT TO SAVE:',0DH,0AH,'$'
FUND DB 0DH,0AH,'THE NUMBER YOU WANT TO TAKE OUT:',0DH,0AH,'$'
DATAS ENDS
STACKS SEGMENT
db 100 dup(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS,ES:DATAS
START:
MOV AX,DATAS
MOV DS,AX
MOV AX,DATAS
MOV ES,AX
MOV AL,03H
MOV COUNT,AL
L0:
MOV DX, OFFSET STRING0 ;提示輸入密碼
MOV AH,09H
INT 21H
MOV CX,6
LEA SI,INPD
L1:
LEA DX,[SI] ;輸入密碼
MOV AH, 08H
INT 21H
INC SI
MOV DL,'*' ;提示輸入密碼
MOV AH,02H
INT 21H
LOOP L1
MOV CX,6
L2:
LEA SI,INPD ;比較字符串
LEA DI,PASSWORD
CMP SI,DI
JNZ NO ;若字符串不相同時,則停止比較
INC SI
INC DI
LOOP L2
YES:
MOV DX, OFFSET STRING1 ;密碼正確是輸出一系列字符
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
CMP AL,'A'
JE FUNCTIONA
CMP AL,'B'
JE FUNCTIONB
CMP AL,'C'
JE FUNCTIONC
CMP AL,'D'
JE FUNCTIOND
MOV AH, 4CH
INT 21H
NO:
MOV DX, OFFSET STRING7 ;密碼不正確時重新輸入
MOV AH,09H
INT 21H
MOV AL,COUNT
DEC AL
MOV AH, 4CH
INT 21H
FUNCTIONA:
CALL START
RET
MOV AH, 4CH
INT 21H
FUNCTIONB:
MOV DX,OFFSET FUNB
MOV AH,09H
INT 21H
MOV AH, 4CH
INT 21H
FUNCTIONC:
MOV DX,OFFSET FUNC
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
FUNCTIOND:
MOV DX,OFFSET FUND
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -