南邮汇编语言程序设计实验二————用户登录验证程序的设计

目录

实验环境(实验设备)

实验要求

实验代码

相关函数

实验结果


实验环境(实验设备)

硬件:微型计算机

软件:Windows 操作系统、汇编语言开发工具MASM或TASM

实验要求

1. 程序执行后,给出操作提示,请用户键入用户名和密码。

2. 用户在键入密码时,程序不回显键入字符。

3. 只有当用户键入的用户和密码字符串和程序内定的字符串相同时,显示欢迎界面,并返回DOS。

4. 可对密码进行加密和解密;动画显示欢迎界面。(选做)

实验代码

.586
DATA SEGMENT USE16
     BUF DB 30
         DB ?
         DB 30 DUP(?)
     TIP1 DB 'Please enter your username:$'
     TIP2 DB 'Please enter your password:$'
	 TIP3 DB 'Welcome!$'
     EM DB 'incorrect username or password$'
DATA ENDS

TXT SEGMENT
     USER DB 'B19030623'
     PW DB '010721'
TXT ENDS

CODE SEGMENT USE16
     ASSUME CS:CODE,DS:DATA,ES:TXT
     
BEG:
     MOV AX,DATA
     MOV DS,AX 
	 MOV AX,TXT
     MOV ES,AX
	 
AGAIN1:	
MOV AH,09H
     MOV DX,OFFSET TIP1 ;取偏移地址
     INT 21H
     MOV AH,2
     MOV DL,0AH  ;换行
     INT 21H
	 
;判断用户名是否正确 
LAST1:
     MOV AH,0AH
	 MOV DX,OFFSET BUF ;获得输入
	 INT 21H
	 LEA DI,USER ;获取偏移位置
     LEA SI,BUF+2;获取偏移位置
	 MOV CX,9
	 CLD
     REPE CMPSB
	 JZ AGAIN2
	 MOV AH,2
     MOV DL,0AH  ;换行
     INT 21H
	 MOV AH,09H
     MOV DX,OFFSET EM ;输出报错
     INT 21H
	 JMP EXIT
AGAIN2:
	 MOV AH,2
     MOV DL,0AH  ;换行
     INT 21H
     MOV AH,09H
     MOV DX,OFFSET TIP2 ;取偏移地址
     INT 21H
	 MOV AH,2
     MOV DL,0AH  ;换行
     INT 21H
	 MOV CX,6
	 LEA BX,BUF+2
;判断密码是否正确 	 
LAST2:
     MOV AH,07H
	 INT 21H
	 MOV [BX],AL
	 INC BX
	 LOOP LAST2
     LEA DI,PW ;获取偏移位置
     LEA SI,BUF+2;获取偏移位置
	 MOV CX,6
	 CLD
     REPE CMPSB
	 JZ NEXT
 MOV AH,2
INT 21H
	 MOV AH,09H
     MOV DX,OFFSET EM ;输出报错
     INT 21H
	 JMP EXIT
NEXT:
     MOV AH,09H
     MOV DX,OFFSET TIP3 ;取偏移地址
     INT 21H
EXIT:
     MOV AH,4CH
     INT 21H  ;返回 DOS
     
CODE ENDS
     END BEG

相关函数

LEA :汇编中的lea指令的作用,简单清晰明了不废话!

REPE CMPSB :repe cmpsb指令解析

实验结果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值