南邮汇编实验二(用户登录)
2016-10-25 17:03
696 查看
.486 DATA SEGMENT USE16 MESG1 DB 'INPUT USER:$' MESG2 DB 'INPUT PWD:$' USER DB 20 DB ? DB 20 DUP(?) PWD DB 20 DUP(?) PWDLENGTH DB 0 U DB 'B14040411' ULENGTH EQU $-U P DB 'B14040411' MLENGTH EQU $-P WELCOME DB 'WELCOME$' ERROR DB 'USER ERROR$' ERROR1 DB 'PASSWORD ERROR$' DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX NEXT0: MOV PWDLENGTH,0 MOV AH,9 MOV DX,OFFSET MESG1 INT 21H MOV AH,0AH MOV DX,OFFSET USER INT 21H MOV AH,2 MOV DL,0AH INT 21H MOV AH,9 MOV DX,OFFSET MESG2 INT 21H MOV CX,MLENGTH MOV SI,OFFSET PWD NEXT1:MOV AH,07H ;无回显从键盘读入一个字符 INT 21H CMP AL,0DH JE IND MOV [SI],AL MOV AH,2 MOV DX,'*' INT 21H INC PWDLENGTH INC SI ;CMP BYTE PTR [SI-1],0DH ;JNZ NEXT1 JMP NEXT1 IND: MOV AH,2 MOV DL,0AH INT 21H ;MOV BX,OFFSET U MOV BX,OFFSET USER+1 MOV AL,[BX] CMP AL,ULENGTH ;比较用户名长度 JNZ UERR MOV BX,OFFSET U MOV SI,OFFSET USER+2 MOV CX,ULENGTH NEXT2: MOV AL,[BX] CMP [SI],AL JNZ UERR INC SI INC BX LOOP NEXT2 MOV BX,OFFSET P MOV SI,OFFSET PWD MOV CL,PWDLENGTH MOV CH,0 CMP CX,MLENGTH ;比较密码长度 JNZ PERR MOV CX,MLENGTH NEXT3: MOV AL,[BX] CMP [SI],AL JNZ PERR INC SI INC BX LOOP NEXT3 JMP WEL UERR: MOV AH,9 MOV DX,OFFSET ERROR INT 21H MOV AH,2 MOV DL,0AH INT 21H JMP NEXT0 PERR: MOV AH,9 MOV DX,OFFSET ERROR1 INT 21H MOV AH,2 MOV DL,0AH INT 21H JMP NEXT0 WEL: MOV AH,9 MOV DX,OFFSET WELCOME INT 21H JMP EXIT EXIT: MOV AH,4CH INT 21H CODE ENDS END BEG
相关文章推荐
- 南邮汇编实验——汇编语言实现用户的登录,不回显密码
- 数据结构实验:AVL平衡树做出用户登录系统(dos界面)
- 虚拟用户登录vsftpd服务器的两个实验
- H3C交换机dot1X+AD+IAS+CA配置实验(解决用户尚未登录无法验证问题)
- 实验1:用户的登录与退出、IO重定向与简单文件操作
- JAVA实验用户登录代码
- 汇编:用户登录以及简单数据加密
- 一个汇编小程序:用户登录验证程序
- 南邮汇编实验一
- 用户登录实验
- IIS7.5-FTP域用户隔离登录实验
- 南邮汇编第一次实验
- 南邮汇编第二次实验
- python基础练习:用户登录实验源码
- Jstl验证用户登录
- 我的第一个PHP程序--用户登录页面
- 实验四:Telnet远程登录服务器的安装、管理及Telnet客户端的应用
- 【转载】xp用户自动登录
- C# 调用API,实现注销远程登录本机的用户。
- 几个SQL server登陆,登录,用户,角色和组用到的系统存储过程