南邮汇编实验——汇编语言实现用户的登录,不回显密码

用汇编语言实现用户的登录,不回显密码

代码:

.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


  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值