微机原理实验用表格形式显示字符

微机原理实验用表格形式显示字符

ID:9042197

大小:332.00 KB

页数:4页

时间:2018-04-15

微机原理实验用表格形式显示字符_第1页
微机原理实验用表格形式显示字符_第2页
微机原理实验用表格形式显示字符_第3页
微机原理实验用表格形式显示字符_第4页
资源描述:

《微机原理实验用表格形式显示字符》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、明德至善博学笃行实验课程名称微机原理实验实验项目名称用表格形式显示字符实验指导老师学生姓名学院理学院专业电子信息科学与技术年级2008级(一)班学号实验时间2010年12月20日总成绩教师签名微型计算机原理实验3明德至善博学笃行1.实验目的⑴熟悉堆栈指令的功能与应用。⑵掌握子程序调用的方法和应用。⑶掌握常用寄存器的使用方法和不同寄存器的使用限制。2.实验内容⑴按15*16的表格形式显示ASCII码为10H—100H的所有字符,即以行为主的顺序及ASCII码递增的次序依次显示对应的字符。每16个字

2、符为一行,每行中的相邻两个字符之间用空白字符(ASCII码为0)隔开。3.实验准备⑴熟悉堆栈指令定义、功能及应用。⑵认真预习有关子程序调用的方法、了解入口参数及出口参数、元调用及进调用。③按正常的方法编写程序实现表格显示(15×16)ASCII的所有字符。4.实验步骤实验1用表格形式显示字符1、题目:用表格形式显示ASCII字符2、实验要求:按15*16的表格形式显示ASCII码为10H—100H的所有字符,即以行为主的顺序及ASCII码递增的次序依次显示对应的字符。每16个字符为一行,每行中的

3、相邻两个字符之间用空白字符(ASCII码为0)隔开。3、提示:⑴显示每个字符可使用功能号为2的显示输出功能调用MOVAH,2MOVDL,10H;字符从10H开始,每显示一个DL+1产生下一个字符INT21H⑵显示空白符时DL=00H;⑶每行显示结束时需要显示回车(ASCII码为0DH)和换行(ASCII码为0AH),本行显示结束后可另起一行显示。分析:①本题中可把DL初始化为10H,然后不断使其加1(用INC指令)以取得下一个字符的ASCII码。②显示空白符时,用其ASCII码0置入DL寄存器,

4、每行结束时,用显示回车(ASC

5、

6、为0DH)和换行符(ASCII为0AH)来结束本行并开始下一行。③由于逐个显示相继的ASCII字符时,需要保存并不断修改dl寄存器的内容,而显示空白、回车、换行符时也需要使用DL寄存器,为此可使用堆栈来保存相继的ASCII字符。具体用法是:在显示空白或回车,换行符前用指令。④PUSHDX把DL的内容保存到堆栈中去。在显示空白或回车,换行符后用指令,POPDX恢复DL寄存器的原始内容。用表格形式显示字符源程序代码:微型计算机原理实验3明德至善博学笃行STACKSE

7、GMENTPARASTACK'STACK'LENDB512DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:CODE,SS:STACKSTART:MOVDL,10H;DL存放ASCII码初始值,ASCII码的初始值为10HMOVCH,000FH;行循环次数15NEXT1:MOVCL,0010H;列循环次数16,以下为列循环NEXT2:CALLDISPLAY;显示DX内的字符INCDL;DL自增,值为下一个ASCII码的十六进制值CALLBLANK;空格DECC

8、L;列自减CMPCL,0;判断列结束?JNENEXT2;未结束,继续CALLENTER;列结束回车换行DECCH;行自减CMPCH,0;判断行结束?JNENEXT1;未结束,下一行MOVAH,4CH;结束程序INT21HDISPLAYPROC;显示字符过程的子程序,入口参数为DLMOVAH,02HINT21HRETDISPLAYENDPBLANKPROC;显示空格过程PUSHDX;压栈保护DX中的ASCII值MOVDL,20H;调用子程序,显示空格CALLDISPLAYPOPDXRETBLANK

9、ENDPENTERPROC;回车换行过程PUSHDXMOVDL,0DHCALLDISPLAY;调用子程序,显示回车MOVDL,0AHCALLDISPLAY;调用子程序,显示换行POPDXRETENTERENDPCODEENDSENDSTART微型计算机原理实验3明德至善博学笃行编译源程序:连接成已.EXE为扩展名的目标文件:运行程序,验证程序设计是否符合设计要求:又上图运行结果可知,程序设计正确。5.实验报告总结本实验程序设计中需要多次显示回车,空格,换行字符,所以在程序设计中如果不使用模块设计

10、方法,将会使程序非常冗长。所以本实验在编写程序时把需要反复显示的字符用一个字程序来实现,当需要显示字符时,只需对入口参数正确赋值,然后调用子程序,这样使程序简洁、清晰明了。但是需要特别注意的是在调用子程序时,如果存放入口参数值的寄存器在程序的其他地方需要用到时,那么在调用子程序之前一定要对该寄存器压栈保护,否则将会影响程序结果的正确性。列入本实验的中,DX中存放的是ASCII字符的十六进制值,且程序每执行一次,DX加一,指向下一个ASCII字符,而在调用子程序显示空格、回车、换行时需要对DX赋相

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。