下载此文档

微机原理实验3分支程序设计.doc


文档分类:高等教育 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
物理与机电工程系(2015——2016学年第一学期)《分支程序设计》上机实验报告专业:电子信息工程学号:4625852555姓名:不同人任课教师:规范和实验地点:实验楼368项目编号:实验三一、实验目的:掌握分支程序的基本结构和设计方法。掌握分支程序上机运行和调试方法。熟悉DEBUG的使用。实验内容:用分支结构设计程序实现符号函数,要求x和y存放在内存单元中,并将判断的结果在屏幕上显示输出。在键盘上输入一个字符,判断是否为小写字母,若不是,显示错误信息,若是,则将其转换为大写字母并显示。在键盘上输入一个字符,判断它是一个数字、大写字母还是小写字母,若为数字,则显示digital,若为字母,显示letter,否则,显示other。将字节型变量x的低四位(一位十六进制数)以十六进制数的形式显示。实验过程:根据要求用分支结构设计编辑实现符号函数的源程序,汇编源程序,运行MASMFORWINDOWS软件,打开写好的程序,源程序即用p指令逐条执行的寄存器变化及指令逐条含义如下:DATASSEGMENT;定义数据段xdb-6;存入x的值,比如此处取x=-6ydb?dadb'y=1','$'dendb'y=0','$'xiaodb'y=-1','$'DATASENDSSTACKSSEGMENT;定义堆栈段STACKSENDS三、实验过程:CODESSEGMENT;定义代码段ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AX;初始化moval,x;X=-6送入ALcmpal,0;将AL与0比较大小JLnext;(小于转移,SF!=0且ZF=0)小于转移到nextjgnext1;(大于转移,SF=0F且ZF=0)大于转移到next1movy,0;将存入yleadx,den;取den的偏移地址送DXmovah,09h;9存入AHint21h;调用9号功能键,显示den的内容‘y=0’jmpnext2;无条件转移到next2next1:movy,1;1送入yleadx,da;取da的偏移地址放DXmovah,09hint21h;调用9号功能显示da的内容‘y=1’jmpnext2;无条件转移到next2next:movy,-1;-1放yleadx,xiao;取xiao的偏移地址放DX中movah,09hint21h;调用9号功能显示xiao的内容‘y=-1’next2:MOVAH,4CH;调用返回DOS功能INT21H;返回DOSCODESENDS;代码段结束ENDSTART;汇编结束,起始运行地址为START程序流程图如下:四、实验结论五、实验中存在问题及解决方法六、教师评语调试过程如下:根据要求,在键盘上输入一个字符,判断是否为小写字母,若不是,显示错误信息,若是,则将其转换为大写字母并显示,写出源程序,汇编源程序,运行MASMFORWINDOWS软件,打开写好的程序,源程序即用p指令逐条执行的寄存器变化及指令逐条含义如下:DATASSEGMENT;定义数据段ydb'error','$';定义输出字符串DATASENDSSTACKSSEGMENT;定义堆栈段STACKSENDSCODESSEGMENT;定义代码段ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATAS;初始化MOVDS,AXmovah,1;1放AHint21h;调用1号功能,输入一个字符cmpal,61h;与61H比较大小jgenext1;大于等于转移到next1jmpnext4;无条件转移到next4next1:cmpal,7Ah;与7AH比较大小jlenext2;小于等于转移到next2jmpnext4;无条件转移到next4next2:subal,20h;AL加20Hnext3:movdl,al;AL内容放DLmovah,2;2放AHint21h;调用2号功能键显示DL中内容jmpnext5;无条件转移next5next4:leadx,y;取y的偏移地址movah,09hint21h;用9号功能键显示next5:MOVAH,4CH;返回DOS功能调用INT21H;返回DOSCODESENDS;代码段结束ENDSTART;汇编结束,起始运行地址为程序流程图如下:调试过程如下:根据要求,写出输入字符判断它是一个数字、大写字母还是小写字母的源程序,汇编源程序,运行MASMFORWINDOWS软件,打开写好的程序,源程序即用p指令逐条执行的寄存器变化及指令逐条含义如下:DATASSEGMENT;定义数据段shuzidb'digital','$'zimudb'letter','$'qitadb'other','$'DATASENDSSTACKSSEGMENT;定义堆栈段st

微机原理实验3分支程序设计 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxc6688
  • 文件大小23.70 MB
  • 时间2020-07-01