资源描述:
《汇编编程-模拟登录时的密码验证过程.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、湖北大学09级物理学编程实现一个模拟登录的过程:先设置一个密码(应是一串字符串,放在内存中),并设置要求输入登录密码的次数,并有输入密码的过程:若输入错误,就显示出错信息、并要求再次输入,多次错误后返回操作系统。若输入正确,则显示通过登录的信息,也返回操作系统。程序设计流程图如下:开始预设数据,包括密码,提示内容等输出提示内容,要求输入密码输入密码密码尝试次数计数器BX减1BX为1?验证密码显示登录成功消息,返回系统密码匹配?结束尝试次数超出限制,提示登录失败,返回系统提示密码错误,要求再次输入密码是是否否此处BX=1表明已经是第N次输入错误,N为
2、设置的最多尝试次数,本程序中其值为3具体实现见以下代码:DATASSEGMENTPASSWORDDB'ABC';定义密码为ABC湖北大学09级物理学MSGDB'PLEASEINPUTYOURPASSWORD:$';设置显示提示的内容RIGHT_MSGDB'OK,LOGINSUCCESSFUL!$'WRONG_MSGDB13,10,'ERROR,PLEASEINPUTYOURPASSOORDAGAIN:$'FAILED_MSGDB13,10,'LOGINFAILED!!$'CRLFDB0DH,0AH,'$';回车换行符PASSWORD_INPUTDB
3、20DB?DB20DUP(?);用于存储输入的字符串(密码)PASSWORD_LEN=3;密码ABC的长度为3,若使用其它密码则作相应改变DATASENDSSTACKSSEGMENTDW256DUP(?)STACKSENDS;---------------------------------------------CODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKS,ES:DATASSTART:MOVAX,DATASMOVDS,AXMOVES,AXMOVBX,3;设置密码尝试次数限制为3;-----------
4、----------------------------------LEADX,MSG;显示MSG消息MOVAH,9INT21HINPUT:LEADX,PASSWORD_INPUTMOVAH,0AHINT21HLEASI,PASSWORD_INPUT+1LEADI,PASSWORDMOVAL,[SI]CMPAL,PASSWORD_LENJNZWRONGMOVCL,ALINCSIMOVCX,PASSWORD_LENREPECMPSBJNZWRONGMOVDX,OFFSETCRLF;换行湖北大学09级物理学MOVAH,9INT21HJMPRIGHTWR
5、ONG:;密码错误CMPBX,1;判断是否是第3次出错JZFAILED;是,则登录失败,跳转至FAILED,显示相应消息LEADX,WRONG_MSGMOVAH,9INT21HDECBX;尝试次数计数器减1JMPINPUTFAILED:;超出限制,登录失败LEADX,FAILED_MSGMOVAH,9INT21HJMPEXITRIGHT:;登录成功LEADX,RIGHT_MSGMOVAH,9INT21HEXIT:;返回系统MOVAH,4CHINT21HCODESENDSENDSTART几次不同输入情况下的运行结果如下图所示:(a)第一次输入便正确(
6、b)第二次输入才正确(c)第三次才输入正确湖北大学09级物理学(a)三次输入都错误,登录失败