课程设计报告课程设计名称:微机系统综合课程设计课程设计题目:密码校验程序院(系):忻州师院计算机系专业:计算机科学与技术班级:本1003班姓名:常亚平学号:201008111175姓名:何云霞学号:201008111174指导教师:韩瑞峰完成日期:2012—6—2-I-目录一、设计目的二、题目要求三、功能效果展示四、课程设计心得体会五、参考文献六、附源程序错误!未指定书签。-1-一、设计目的:1、掌握汇编语言,会利用汇编语言编写一定功能的程序;2、熟悉DOS环境以及在DOS下会调试编写好的汇编程序;3、熟悉常用的DOS功能;4、两人合作完成设计题目。二、题目要求:1、设计密码校验程序;2、程序设计基本要求:1)菜单内容包括:①输入密码(字符串);②密码校验;③退出。2)输入字符串选择该项后,可以输入一个字符串。该字符串作为密码校验中的已知密码。3)密码校验输入字符串,若所输入的字符串与密码不一致则提示:“Passworderror!”,并重新提示输入密码,当错误输入三次时退出软件返回DOS。若所输入的字符串与密码一致则提示:“Passwordcorrect!”,并返回主菜单。4)在主菜单中选择退出项,则结束程序返回DOS。3、程序设计的流程图。-2-开始显示菜单等待键入输入选择号跳转到CP2AL=1??调用SUB01跳转到CP3YAL=2???l、、????校验密码清屏设置光标显示提示信息设置密码YNAL=3?调用SUB02清屏设置光标设置附加段设置允许错误密码次数BP显示校验密码信息输入密码密码正确?BP=0?输出提示语PRESSANYKEYTOEXIT...输入任意字符返回DOSY结束显示密码错误信息BP-1NCF=1键入任意字符CF=0?-3-三、功能效果展示1.编译成功2.连接成功3.进入程序主界面4.开始校验-4-5.退出程序四、课程设计心得体会本次汇编语言课程设计加深了我对汇编语言的理解和运用,一些以前完全不懂的指令及其用法现在都掌握了一点,熟悉掌握了汇编程序的建立,编译,连接及运行流程,并且通过这次课程设计实践,让我觉得其实汇编不是想象中的完全无法下手,-5-尤其是当程序运行正确的时候,那种来自内心的成就感,让我更加有信心学好汇编语言了。五、参考文献《微型计算机系统原理及应用》(第五版)清华大学出版社六、源程序CODESEGMENTASSUMECS:CODE,DS:CODEstart:MOVAX,CODEMOVDS,AXcldAGAIN:MOVAX,3INT10Hleadx,MENU;主菜单movah,9int21hinput:movah,0int16hcmpal,'1'jnzcp2callsub01;输入一个字符串jmpAGAIN-6-cp2:cmpal,'2'jnzcp3callsub02;字符串左右移动jcexitjmpAGAIN;返回到主菜单cp3:cmpal,'3';返回DOSjnzinputexit:leadx,MESGmovah,9int21hmovah,1int21hMOVAH,4CHINT21Hsub01:movax,3int10hleadx,tipsmovah,9int21h-7-leadx,msg1movah,0ahint21h;输入一个字符串movax,0e0dhint10hmoval,0ahint10hretsub02:movax,3int10hclcpushdspopesmovbp,3sss:leadx,Passmovah,9int21hleadx,msg2movah,0ah-8-int21hleasi,buf1leadi,buf2movch,0movcl,msg1+1cmpcl,msg2+1jnzcuowuINCCXrepzcmpsbjcxzrightcuowu:leadx,nomovah,9int21hdecbpjnzsssstcjmpokright:leadx,yesmovah,9int21h-9-ok:movah,1int21hretMENUDB5DUP(0AH)DB31DUP(''),'MAINMENU',0DH,0AHDB25DUP(''),201,21DUP(205),187,0DH,0AHDB25DUP(''),186,'1.ShuruMima',8dup(20h),186,0DH,0AHDB25DUP(''),186,'2.JiaoyanMima',6dup(20h),186,0DH,0AHDB25DUP(''),186,'3.ReturntoDOS...',186,0DH,0AHDB25DUP(''),200,21DUP(205),188,0DH,0AHDB28DUP(''),'Choice(1,2,3):$'MESGDB0dh,0ah,0dh,0ah,9,'Pressanykeytoexit...$'Passdb0dh,0ah,9,'Enteryourpassword:$'yesdb0dh,0ah,9,'passwordcorrect!$'nodb0dh,0ah,9,'passworderror!$'tipsdb0dh,0ah,9,'Inputastring:$'msg1db255,0buf1db255dup(0)-10-msg2db255,0buf2db255dup(0)CODEENDSENDstart