南郵匯編實驗——組合語言實現使用者的登入,不回顯密碼
阿新 • • 發佈:2019-01-29
用匯編語言實現使用者的登入,不回顯密碼
程式碼:
.586 DATA SEGMENT USE16 STRWELCOME DB 'WELCOME,INPUT YOUR ID$' STRINPUTPASS DB 'Please input your password$' STRWID DB 'Your id is wrong$' STRWPASS DB 'Your password is wrong$' STRRIGHT DB 'Login successfully$' HC DB 0DH,0AH,'$' XXX DB '*$' IDIN DB 100 DB ? DB 100 DUP(?) PASSIN DB 100 DUP(?) DATA ENDS EXTRA SEGMENT USE16 IDC DB 'GOOD' IDLENG EQU $-IDC PASSC DB 'GOOD123' PASSLENG EQU $-PASSC EXTRA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA,ES:EXTRA BEG:MOV AX,DATA MOV DS,AX MOV AX,EXTRA MOV ES,AX MOV AH,9 MOV DX,OFFSET STRWELCOME INT 21H CALL HUICHE MOV AH,0AH MOV DX,OFFSET IDIN INT 21H MOV CL,IDIN+1 ;TRY IDIN[1] MOV CH,0 CMP CX,IDLENG JNZ WID MOV SI,OFFSET IDIN+2 MOV DI,OFFSET IDC CLD ;? REPE CMPSB JNZ WID CALL HUICHE MOV AH,9 MOV DX,OFFSET STRINPUTPASS INT 21H CALL HUICHE MOV SI,0 MOV BX,OFFSET PASSIN NOC:MOV AH,8 INT 21H CMP AL,13 JZ STA MOV [BX+SI],AL INC SI CALL XIN JMP NOC STA:MOV CX,SI CMP CX,PASSLENG JNZ WPA MOV SI,OFFSET PASSIN MOV DI,OFFSET PASSC CLD ;? REPE CMPSB JNZ WPA CALL HUICHE MOV AH,9 MOV DX,OFFSET STRRIGHT INT 21H JMP EXIT WID:CALL HUICHE MOV AH,9 MOV DX,OFFSET STRWID INT 21H JMP EXIT WPA:CALL HUICHE MOV AH,9 MOV DX,OFFSET STRWPASS INT 21H JMP EXIT EXIT:MOV AH,4CH INT 21H HUICHE PROC MOV AH,9 MOV DX,OFFSET HC INT 21H RET HUICHE ENDP XIN PROC MOV AH,9 MOV DX,OFFSET XXX INT 21H RET XIN ENDP CODE ENDS END BEG