1、导教师评语 年 月 日目录一、设计目的-1二、设计任务与要求-1三、设计内容-2四、实施效果-8五、设计体会-10六、参考资料-10一、设计目的:1、掌握汇编语言,会利用汇编语言编写一定功能的程序;2、熟悉DOS环境以及在DOS下会调试编写好的汇编程序;3、熟悉常用的DOS功能;4、小组合作完成设计题目。二、设计任务与要求:1、 设计密码校验程序;2、 程序设计基本要求:1) 菜单内容包括:输入密码(字符串);密码校验;退出。 2) 输入字符串选择该项后,可以输入一个字符串。该字符串作为密码校验中的已知密码。3) 密码校验输入字符串,若所输入的字符串与密码不一致则提示:“Password er
2、ror!”,并重新提示输入密码,当错误输入三次时退出软件返回DOS。若所输入的字符串与密码一致则提示:“Password correct!”,并返回主菜单。4) 在主菜单中选择退出项,则结束程序返回DOS。三、设计内容:1、使用的DOS功能:1) 显示字符串 MOV AH,09H INT 21H ;入口参数DS:DX=缓冲区2) 键盘输入一个字符 MOV AH,01H AL=输入的字符3)终止当前程序并返回调用程序 MOV AH,4CH AL=退出码4)输入字符串 MOV AH,0AH 2、使用的BIOS功能:1)设置光标位置,出口参数DH=当前字符行号、DL=当前字符列号、CH=光标起始栅线
3、: MOV AX,03H;INT 10H2) MOV AL,0AH;在光标位置显示字符3) MOV AH,0;从键盘读字符INT 16H3、使用工具和软件: 计算机和MASM汇编软件4、流程图:5、程序与分析:DATA SEGMENT MENU DB 5 DUP(0AH) ;预设5个字节单位,初始值均为0AH DB 32 DUP( ),MAIN MENU,0DH,0AH DB 25 DUP(),201,22 DUP(205),187,0DH,0AH DB 25 DUP(),186, 1.SET THE PASSWORD,3 DUP (20H),186,0DH,0AH 2.CHECK THE P
4、ASSWORD,1 DUP (20H),186,0DH,0AH 3.RETURN TO DOS . ,20H,186,0DH,0AH),200,22 DUP(205),188,0DH,0AH DB 29 DUP(CHOICE(1,2,3):$ MESG DB 0DH,0AH,0DH,0AH,9,PRESS ANY KEY TO EXIT .$ PASS DB 0DH,0AH,9,ENTER YOUR PASSWORD: $ YES DB 0DH,0AH,9,PASSWORD CORRECT! NO DB 0DH,0AH,9,PASSWORD ERROR! TIPS DB 0DH,0AH,9,I
5、NPUT A STRING: MSG1 DB 255,0 MSG2 DB 255,0DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX CLD ;进位标志置0AGAIN: MOV AX,3 INT 10H ;读光标位置 LEA DX,MENU MOV AH,09H INT 21H ;输出字符串INPUT: MOV AH,1从键盘读字符,AL=字符码,AH=扫描码 CMP AL,1 JNZ CP2 CALL SUB01 ;程序跳转 JMP AGAINCP2:2 JNZ CP3 CALL SUB02 ;字
6、符串左右移动 JC EXIT JMP AGAIN ;返回到主菜单CP3:3 ;返回DOS JNZ INPUTEXIT: LEA DX,MESG MOV AH,9键盘输入单字符 MOV AH,4CH INT 21HSUB01: LEA DX,TIPS MOV AH,9 输出字符串 LEA DX,MSG1 MOV AH,0AH输入字符串 RET ;过程返回SUB02: CLC ;进位标志清0 PUSH DS ;压入堆栈 POP ES ;弹出堆栈 MOV BP,3SSS: LEA DX,PASS显示字符串 LEA DX,MSG2MOV AH,0AH MOV CH,0 MOV CL,MSG1+1 CM
7、P CL,MSG2+1 JNZ CUOWU INC CX REPZ CMPSB ;当等于/为0时重复 JCXZ RIGHT ;CX为0转移CUOWU: LEA DX,NO DEC BP JNZ SSS STC ;进位标志位置1 JMP OKRIGHT: LEA DX,YESOK: RETCODE ENDS END START6、分组和自己对小组做的贡献:我与同组组员合作,主要负责编写程序的数据段设定部分,以及各自搜集相关资料。四、实施效果1编译成功2连接成功3进入程序主界面4.开始校验5选择3按键,退出程序。五、设计体会本次汇编语言课程设计让我复习了一遍之前刻上学过的知识,而且印象很深刻,加深
8、了对所学指令及其用法的理解,此外还学到了一些新的知识,比如有关INT 10H,INT 16H以及INT 21H里的一些指令的用法,这些在课堂上老师并没有详细讲解。本次汇编语言课程设计,也让我更加明白学习过程中需要理论知识与实践相结合,只学理论知识是很枯燥的,但当你用自己所编写的程序实现出来一个功能的时候就会觉得有很大的成就感,从而增强自己的学习积极性。另一个比较大的感受就是我学习的知识还是不够全面,答辩的时候,老师问我程序开始的时候的框框是怎么实现的,我只知道那些程序代表那个框框,却不能具体的说明是如何实现的,以后的学习过程中在这方面应该有所提高。总之,这次汇编语言课程设计让我收获很大,我不但巩固了知识,提高了能力,而且学到了编写程序时的技巧。对于学习汇编语言这门专业课的兴趣更加浓厚,以后多看程序,多尝试编写程序,在实践的过程中发现问题,并及时解决问题,不断的提升自己。六、参考资料朱金钧、麻新旗:微型计算机原理及应用技术 机械工业出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1