您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 课程设计――键盘输入及数据显示程序设计
中北大学汇编语言程序设计课程设计说明书学生姓名:夏志广学号:0809014245学院:信息与通信工程学院专业:自动化题目:键盘输入及数据显示程序设计指导教师:沈小林安道新职称:副教授助教2011年6月25日中北大学汇编语言程序设计实验课程设计任务书10/11学年第二学期学院:信息与通信工程学院专业:自动化学生姓名:夏志广学号:0809014245课程设计题目:数据显示及键盘输入程序设计起迄日期:6月20日~6月25日课程设计地点:中北大学指导教师:沈小林安道新系主任:王忠庆下达任务书日期:2011年06月20日课程设计任务书1.设计目的:通过键盘及显示程序设计掌握汇编语言程序在键盘输入及文本显示方面的编程过程。2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):1、程序要求(1)能识别数字键、字母键(能区分大小写);(2)一次最多字符(含数字)输入不超过80个;(3)依次显示键盘输入的所有可显示字符。2、设计内容(1)根据要求确定解决问题的编程方法;(2)画出程序框图、设计源程序;(3)在计算机上汇编、链接所设计的程序;(4)按照要求调试程序,记录程序运行结果;(5)写出设计总结报告。设计报告主要内容包括:设计目的与要求、系统技术指标或设计要求、程序设计方案、主要参考资料及心得体会等3.设计工作任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等〕:设计总结;程序清单;程序框图;参考文献等。【注】装订时依照封面、任务书、设计总结顺序一起装订。课程设计任务书4.主要参考文献:[1]王志军.汇编语言程序设计.大连:大连理工大学出版社,2003[2]梁发寅,宗大华.汇编语言程序设计.北京:人民邮电出版社,2006[3]王爽.汇编语言.北京:清华大学出版社,2003[4]何超.汇编语言程序设计实验与习题解答.北京:机械工业出版社,2010[5]黄冰,覃伟年,黄志超.微机原理与应用.重庆:重庆大学出版社,2003[6]杨季文.汇编语言程序设计教程.北京:清华大学出版社,1998[7]罗万钧,罗方中.汇编语言程序设计.西安:西安电子科技大学出版社[8]吴向军,李磊,汇编语言程序设计实验辅导.西安:西安电子科技大学出版社[9]杨素行,刘慧银.微型计算机系统原理及应用.北京:清华大学出版社,1995[10]冯康.汇编语言.武汉:武汉大学出版社5.设计成果形式及要求:设计总结;参考文献等。6.工作计划及进度:6月20日~6月21日6月22日~6月22日6月23日~6月24日6月25日~6月25日调研、资料收集;设计方案确定,设计程序程序调试、程序必须调试通过。撰写总结、设计报告答辩系主任审查意见:签字:年月日一、设计目的1、通过程序设计和调试,加深对字符串程序设计的认识,掌握其调试方法;2、通过键盘及显示程序设计掌握汇编语言程序在键盘输入及文本显示方面的编程过程;3、学会DOS中关于显示功能调用的用法;4、领会修改显存方法显示字符。二、程序设计要求(1)能识别数字键、字母键(能区分大小写);(2)一次最多字符(含数字)输入不超过80个;(3)依次显示键盘输入的所有可显示字符。三、编程思路串(String)即数据串,是指存放在连续内存中的一组数据,通常表现为字节(或字)数组,串操作指令具有以下共性。1)源串:地址由DS:SL表示。2)目的串:地址由ES:DI表示。3)自动修改地址:每次数据操作后,SI和DI自动递增或递减,取决于操作的数据类型(字节、字或双字)以及DF的值。若DF=0,则SI和DI自动增加1、2或4;否则减1、2或4。可以使用CLD或STD指令设置DF。4)计数器:使用重复前缀时,用CX显示数据个数,每重复一次操作,CX减1。从键盘输入一串字符串,通过指令STRINGDB80DUP(?)来设置一次最多字符(含数字)输入不超过80个,能识别数字键、字母键。要使程序能够识别字母键的大小写,必须通过ASCII码来寻址识别。依次显示键盘输入的所有可显示字符,当用户按回车键时,输入结束。然后通过显示器显示输入的字符。三、程序框图开始设置可输入字符长度80按键输入字符串判断字符类型小写字母字符a~z大写字母字符A~Z数字字符0~9按回车结束字符串输入输出可显示字符串结束61H~74H41H~5AH30H~39H五、程序清单:DSEGSEGMENTMAXDB80ACTDB?STRINGDB80DUP(?)ALPHABETDBNUMBERDBOTHERDBCRLFDBDSEGENDS;-----------------------------------------------------------------------------------------------------CSEGSEGMENTMAINPROCFARASSUMECS:CSEG,,DS:DSEGSTART:PUSHDSSUBAX,AXPUSHAXMOVAX,DSEGMOVDS,AXBEGIN:MOVBX,0MOVSI,0MOVDI,0INPUT:MOVAH,1;输入一个字符INT21HCMPAL,0DH;是回车符吗?JEDISPCMPAL,30H;其值数字0吗?JAENEXT1OTHER:INCDI;是其他字符?JMPSHORTINPUTNEXT1:CMPAL,39HJANEXT2INCSI;是数字字符JMPSHORTINPUTNEXT2:CMPAL,41H;其值字母A吗JAENEXT3JMPSHORTOTHER;是其他字符NEXT3:CMPAL,5AH;其他字母Z吗JANEXT4INCBX;是字母字符A~ZJMPSHORTINPUTNEXT4:CMPAL,.61H;其值字母a吗?JAENEXT5JMPSHORTOTHER;是其他字符?NEXT5:CMPAL,7AH;其值字母z吗?JASHORTOTHER;是其他字符INCBX;是字母字符a~zJMPSHORTINPUTDISP:LEADX,ALPHABETCALLDISPLAYLEADX,NUMBERMOVBX,SICALLDISPLAYLEADX,OTHERMOVBX,DICALLDISPLAYRETMAINENDP;---------------------------------------------------------------------------------------DISPLAYPROCNEARMOVAH,O9H;显示字符串功能调用INT21HCALLBINIHEXLEADX,CRLFMOVAH,09HINT21HRETDISPLAYENDP;--------------------------------------------------------------------------------------------------BINIHEXPROCNEARMOVCH,4ROTATE:MOVCL,4ROLBX,CLMOVDL,BLANDDL,OFHADDDL,30HCMPDL,3AHJLPRINT_ITADDDL,07HPRINT_IT:MOVAH,02HINT21HDECCHJNZROTATERETBINIHEXENDPCSEGENDSENDTSTART六、程序调试及运行结果分析1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“EDIT.COMC:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。图1文本编辑器EDIT的编辑窗口窗口标题行显示了EDIT程序的完整路径名。紧接着标题行下面的是菜单行,窗口最下面一行是提示行。菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。如果键入EDIT命令时已带上了源程序文件名(C:\ASM\HELLO.ASM),在编辑窗口上部就会显示该文件名。如果在键入EDIT命令时未给出源程序文件名,则编辑窗口上会显示“UNTITLED1”,表示文件还没有名字,在这种情况下保存源程序文件时,EDIT会提示输入要保存的源程序的文件名。编辑窗口用于输入源程序。EDIT是一个全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一个位置上。EDIT中的编辑键和功能键符合Windows的标准。源程序输入完毕后,用Alt-F打开File菜单,用其中的Save功能将文件存盘。如果在键入EDIT命令时未给出源程序文件名,则这时会弹出一个“Saveas”窗口,在这个窗口中输入你想要保存的源程序的路径和文件名。3.用MASM.EXE汇编源程序产生OBJ目标文件源文件HELLO.ASM建立后,要使用汇编程序对源程序文件汇编,汇编后产生二进制的目标文件(.OBJ文件)。具体操作如下:方法一:在Windows中操作用资源管理器打开源程序目录C:\ASM,把HELLO.ASM拖到MASM.EXE程序图标上。方法二:在DOS命令提示符窗口中操作选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入MASM命令:I:C:回车C:CD\ASM回车C:\ASMMASMHELLO.ASM回车操作时的屏幕显示如图2所示。图2在DOS命令提示符窗口中进行汇编不管用以上二个方法中的哪个方法,进入MASM程序后,都会提示让你输入目标文件名(Objectfilename),并在方括号中显示默认的目标文件名,建议输入目标文件的完整路径名,如:C:\ASM\HELLO.OBJ〈回车〉。后面的两个提示为可选项,直接按回车。注意,若打开MASM程序时未给出源程序名,则MASM程序会首先提示让你输入源程序文件名(Sourcefilename),此时输入源程序文件名HELLO.ASM并回车,然后进行的操作与上面完全相同。图3有错误的汇编过程例子如果没有错误,MASM就会在当前目录下建立一个HELLO.OBJ文件(名字与源文件名相同,只是扩展名不同)。如果源文件有错误,MASM会指出错误的行号和错误的原因。图3是在汇编过程中检查出两个错误的例子。在这个例子中,可以看到源程序的错误类型有两类:警告错误(WarningErrors)。警告错误不影响程序的运行,但可能会得出错误的结果。此例中无警告错误。严重错误(SevereErrors)。对于严重错误,MASM将无法生成OBJ文件。此例中有两个严重错误。在错误信息中,园括号里的数字为有错误的行号(在此例中,两个错误分别出现在第6行和第9行),后面给出了错误类型及具体错误原因。如果出现了严重错误,你必须重新进入EDIT编辑器,根据错误的行号和错误原因来改正源程序中的错误,直到汇编没有错为止。4.用LINK.EXE产生EXE可执行文件在上一步骤中,汇编程序产生的是二进制目标文件(OBJ文件),并不是可执行文件,要想使我们编制的程序能够运行,还必须用连接程序(LINK.EXE)把OBJ文件转换为可执行的EXE文件。具体操作如下:方法一:在Windows中操作用资源管理器打开源程序目录C:\ASM,把HELLO.OBJ拖到LINK.EXE程序图标上。方法二:在DOS命令提示符窗口中操作选择“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令提示符窗口,然后用CD命令转到源程序目录下,接着输入LINK命令:I:C:回车C:CD\ASM回车C:\
本文标题:课程设计――键盘输入及数据显示程序设计
链接地址:https://www.777doc.com/doc-3846653 .html