



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
明德至善 博学笃行实验课程名称 微机原理实验 实验项目名称用表格形式显示字符 实验指导老师 学 生 姓 名 学 院 理学院 专 业 电子信息科学与技术 年 级 2008级(一)班 学 号 实 验 时 间 2010年12月20日 总 成 绩教师签名 1. 实验目的 熟悉堆栈指令的功能与应用。 掌握子程序调用的方法和应用。 掌握常用寄存器的使用方法和不同寄存器的使用限制。2. 实验内容 按15*16的表格形式显示ASCII码为10H100H的所有字符,即以行为主的顺序及ASCII码递增的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白字符(ASCII码为0)隔开。3. 实验准备 熟悉堆栈指令定义、功能及应用。 认真预习有关子程序调用的方法、了解入口参数及出口参数、元调用及进调用。 按正常的方法编写程序实现表格显示(1516)ASCII的所有字符。4. 实验步骤实验1 用表格形式显示字符1、题目:用表格形式显示ASCII字符2、实验要求:按15*16的表格形式显示ASCII码为10H100H的所有字符,即以行为主的顺序及ASCII码递增的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白字符(ASCII码为0)隔开。3、提示: 显示每个字符可使用功能号为2的显示输出功能调用 MOV AH,2 MOV DL,10H;字符从10H开始,每显示一个DL+1产生下一个字符 INT 21H 显示空白符时DL=00H; 每行显示结束时需要显示回车(ASCII码为0DH)和换行(ASCII码为0AH),本行显示结束后可另起一行显示。分析: 本题中可把DL初始化为10H, 然后不断使其加1(用INC指令) 以取得下一个字符的ASCII码。 显示空白符时,用其ASCII码0置入DL 寄存器,每行结束时,用显示回车(ASC|为0DH)和换行符(ASCII为0AH)来结束本行并开始下一行。 由于逐个显示相继的ASCII字符时,需要保存并不断修改dl寄存器的内容,而显示空白、回车、换行符时也需要使用DL寄存器,为此可使用堆栈来保存相继的ASCII字符。具体用法是:在显示空白或回车,换行符前用指令。 PUSH DX 把DL的内容保存到堆栈中去。在显示空白或回车,换行符后用指令,POP DX 恢复DL寄存器的原始内容。用表格形式显示字符源程序代码:STACKSEGMENT PARA STACK STACKLENDB 512 DUP(?)STACK ENDS CODESEGMENT ASSUME CS:CODE,DS:CODE,SS:STACKSTART:MOVDL, 10H ;DL存放ASCII码初始值,ASCII码的初始值为10H MOV CH, 000FH ;行循环次数15NEXT1: MOV CL, 0010H ;列循环次数16,以下为列循环 NEXT2: CALL DISPLAY ;显示DX 内的字符 INC DL ;DL自增,值为下一个ASCII码的十六进制值 CALL BLANK ;空格 DEC CL ;列自减 CMP CL, 0 ;判断列结束? JNE NEXT2 ;未结束,继续 CALL ENTER ;列结束回车换行 DEC CH ;行自减 CMP CH,0 ;判断行结束? JNE NEXT1 ;未结束,下一行 MOV AH,4CH ;结束程序 INT 21HDISPLAY PROC ;显示字符过程的子程序,入口参数为DL MOV AH,02H INT 21H RETDISPLAY ENDP BLANK PROC ;显示空格过程 PUSH DX ;压栈保护DX中的ASCII值 MOV DL,20H ;调用子程序,显示空格 CALL DISPLAY POP DX RETBLANK ENDPENTER PROC ;回车换行过程 PUSH DX MOV DL,0DH CALL DISPLAY;调用子程序,显示回车 MOV DL,0AH CALL DISPLAY ;调用子程序,显示换行 POP DX RETENTER ENDPCODE ENDS END START编译源程序:连接成已.EXE为扩展名的目标文件:运行程序,验证程序设计是否符合设计要求:又上图运行结果可知,程序设计正确。5. 实验报告总结本实验程序设计中需要多次显示回车,空格,换行字符,所以在程序设计中如果不使用模块设计方法,将会使程序非常冗长。所以本实验在编写程序时把需要反复显示的字符用一个字程序来实现,当需要显示字符时,只需对入口参数正确赋值,然后调用子程序,这样使程序简洁、清晰明了。但是需要特别注意的是在调用子程序时,如果存放入口参数值的寄存器在程序的其他地方需要用到时,那么在调用子程序之前一定要对该寄存器压栈保护,否则将会影响程序结果的正确性。列入本实验的中,DX中存放的是ASCII字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版生态环保型工程建设项目施工投资合同
- 2025年中考数学模拟卷(一)
- 2025版美甲店店员绩效考核及晋升管理合同模板
- 二零二五年度车辆买卖合同担保及维修保养服务范本
- 二零二五年度合同编号:智慧城市基础设施造价咨询合作协议
- 二零二五年度劳动者权益保障劳动合同购买手册
- 2025版进出口代理货物安全运输服务合同样本
- 二零二五年专有技术保密协议范例
- 二零二五年度建筑合同施工质量保修责任范本
- 二零二五年度家居装饰品设计与定制服务合同范本
- VTE的预防及护理
- 护理伦理的概论
- ABS风口供货合同范本
- 2025年燃气经营企业从业人员专业考试历年参考题库含答案详解(5套)
- 2025年食品安全法试题带答案
- 植物生物技术概论
- 食品委托加工协议书范文6篇
- 充电桩检定培训课件
- 2025年黑龙江省哈尔滨市南岗区事业单位招聘考试卫生类医学检验专业知识试卷
- 人社法律法规知识竞赛考试题及答案
- 2025年青海省中考英语试卷真题(含答案及解析)
评论
0/150
提交评论