ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:346.82KB ,
资源ID:3376578      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3376578.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理实验3分支程序设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、微机原理实验3分支程序设计 物理与机电工程系(20152016 学年第 一 学期)分支程序设计 上机实验报告专 业:电子信息工程 学 号: 55 姓 名: 不同人 任课教师: 规范和 实验地点: 实验楼368 项目编号: 实 验 三 一、实验目的:1. 掌握分支程序的基本结构和设计方法。 2. 掌握分支程序上机运行和调试方法。3. 熟悉DEBUG的使用。2、实验内容:1. 用分支结构设计程序实现符号函数 ,要求x和y存放在内存单元中,并将判断的结果在屏幕上显示输出。2. 在键盘上输入一个字符,判断是否为小写字母,若不是,显示错误信息,若是,则将其转换为大写字母并显示。3. 在键盘上输入一个字符

2、,判断它是一个数字、大写字母还是小写字母,若为数字,则显示digital,若为字母,显示letter,否则,显示other。 4. 将字节型变量x的低四位(一位十六进制数)以十六进制数的形式显示。3、实验过程:1. 根据要求用分支结构设计编辑实现符号函数的源程序,汇编源程序,运行MASM FOR WINDOWS软件,打开写好的程序,源程序即用p指令逐条执行的寄存器变化及指令逐条含义如下:DATAS SEGMENT ;定义数据段 x db -6 ;存入x的值,比如此处取x=-6 y db da db y=1,$ den db y=0,$ xiao db y=-1,$DATAS ENDSSTACK

3、S SEGMENT ;定义堆栈段STACKS ENDSCODES SEGMENT ;定义代码段 ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;初始化 mov al,x ;X=-6送入AL cmp al,0 ;将AL与0比较大小 JL next ;(小于转移,SF!=0且ZF=0)小于转移到next jg next1 ;(大于转移,SF=0F且ZF=0)大于转移到next1 mov y,0 ;将存入y lea dx,den ; 取den的偏移地址送DX mov ah,09h ;9存入AH int 21h ;调用9

4、号功能键,显示den的内容y=0 jmp next2 ;无条件转移到next2next1: mov y,1 ;1送入y lea dx,da ;取da的偏移地址放DX mov ah,09h int 21h ;调用9号功能显示da的内容y=1 jmp next2 ;无条件转移到next2 next: mov y,-1 ;-1放y lea dx,xiao ;取xiao的偏移地址放DX中 mov ah,09h int 21h ;调用9号功能显示xiao的内容y=-1next2: MOV AH,4CH ;调用返回DOS功能 INT 21H ;返回DOS CODES ENDS ;代码段结束 END STA

5、RT ;汇编结束,起始运行地址为START程序流程图如下: 调试过程如下:2. 根据要求,在键盘上输入一个字符,判断是否为小写字母,若不是,显示错误信息,若是,则将其转换为大写字母并显示,写出源程序,汇编源程序,运行MASM FOR WINDOWS软件,打开写好的程序,源程序即用p指令逐条执行的寄存器变化及指令逐条含义如下:DATAS SEGMENT ;定义数据段 y db error,$ ;定义输出字符串 DATAS ENDS STACKS SEGMENT ;定义堆栈段 STACKS ENDS CODES SEGMENT ;定义代码段 ASSUME CS:CODES,DS:DATAS,SS:

6、STACKSSTART: MOV AX,DATAS ;初始化 MOV DS,AX mov ah,1 ;1放AH int 21h ;调用1号功能,输入一个字符 cmp al,61h ;与61H比较大小 jge next1 ;大于等于转移到next1 jmp next4 ;无条件转移到next4 next1: cmp al,7Ah ;与7AH比较大小 jle next2 ;小于等于转移到next2 jmp next4 ;无条件转移到next4 next2: sub al,20h ;AL加20H next3: mov dl,al ;AL内容放DL mov ah,2 ;2放AH int 21h ;调用

7、2号功能键显示DL中内容 jmp next5 ;无条件转移next5 next4: lea dx,y ;取y的偏移地址 mov ah,09h int 21h ;用9号功能键显示 next5: MOV AH,4CH ;返回DOS功能调用 INT 21H ;返回DOS CODES ENDS ;代码段结束 END START ;汇编结束,起始运行地址为程序流程图如下: 调试过程如下:3. 根据要求,写出输入字符判断它是一个数字、大写字母还是小写字母的源程序,汇编源程序,运行MASM FOR WINDOWS软件,打开写好的程序,源程序即用p指令逐条执行的寄存器变化及指令逐条含义如下:DATAS SEG

8、MENT ;定义数据段 shuzi db digital,$ zimu db letter,$ qita db other,$ DATAS ENDS STACKS SEGMENT ;定义堆栈段 string db ;定义存放单元STACKS ENDS CODES SEGMENT ;定义代码段 ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS ;初始化 MOV DS,AX mov ah,1 int 21h ;调用1号功能键输入一个数 cmp al,30h ;与30H比较大小 jge next1 ;大于等于转移 jmp next6 ;无条

9、件转移next1: cmp al,39h ;与39H比较大小 jle next2 ;小于等于转移 cmp al,41h ;与41H比较大小 jge next3 ;大于等于转移 jmp next6 ;直接转移next3: cmp al,5Ah ;与5AH比较大小 jle next5 ;小于等于转移 jmp next8 ;直接转移next8: cmp al,61h ;与61H比较大小 jle next6 ;小于等于转移 jge next4 ;大于等于转移next5: lea dx,zimu ;取偏移地址 mov ah,09h int 21h ;调用9号功能键显示 jmp next7 ;直接转移ne

10、xt4: cmp al,7Ah ;与7AH比较大小 jle next5 ;小于等于转移 jmp next6 ;直接转移next2: lea dx,shuzi ;取偏移地址 mov ah,09h int 21h ;调用9号功能键显示 jmp next7 ;直接转移next6: lea dx,qita ;取偏移地址 mov ah,09h int 21h ;调用9号功能键显示next7: MOV AH,4CH ;返回DOS功能调用 INT 21H ;返回DOSCODES ENDS ;代码段结束 END START ;汇编结束,起始运行地址为START程序流程图如下: 调试过程如下:4. 根据要求,编

11、写将字节型变量x的低四位十六进制数的形式显的源程序,汇编源程序,运行MASM FOR WINDOWS软件,打开写好的程序,源程序即用p指令逐条执行的寄存器变化及指令逐条含义如下:data segment ;定义数据段 x db 15 ;存入要转换的x的值,比如此处取15data ends code segment ;定义代码段 assume cs:code,ds:data start:mov ax,data ;初始化 mov ds,ax mov al ,x ;x的值送AL中 and al,0fh ;将AL高四位清零 cmp al,9 ;AL与9比较大小 JBE next ;低于等于转移 add

12、 al,7 ;AL加7next:add al,30h ;AL 加30H mov ah,2 mov dl,al ;AL输入DL int 21h ;调用2号功能键显示DL中的内容 mov ah,4ch ;返回DOS功能调用 int 21h ;返回DOScode ends ;代码段结束 end start ;汇编结束,起始运行地址为start 程序流程图如下: 调试过程如下:4、实验结论1 学习并使用了DEBUG程序,进一步掌握和熟悉汇编语言程序上机过程、DEBUG的常用指令。 2 根据要求编写了程序,用分支结构设计程序实现符号函数,运行MASM FOR WINDOWS软件,打开写好的程序,源程序即

13、用p指令逐条执行的寄存器变化及指令逐条含义,主要运用有功能键的调用,如1、2、9号功能键,及其出入口参数,回车换行的运用。 3 根据要求编写了判断字符是否为小写字母,显示错误信息,即则将其转换为大写字母并显示的程序。通过键盘输入字符,利用JIE、JMP、JGE等转移指令,大小写字母的ASIIC码及相关输入显示功能号的调用等实现。在DEBUG下查看执行结果,用p指令逐条执行源程序的寄存器变化及指令逐条含义。 4 通过键盘输入字符,利用JIE、JMP、JGE等转移指令,大小写字母即数字的ASIIC码、1、2、9等相关输入显示功能号的调用等实现判断字符它是一个数字、大写字母还是小写字母,并在屏幕上显

14、示相应的提示信息digital、letter和other。在DEBUG下查看执行结果,用p指令逐条执行源程序的寄存器变化及指令逐条含义。 5 利用转移指令JBE JNZ和移位指令ROL以逻辑与指令AND及将字节型变量x的低四位(用十六进制数的形式显示了出来,并运用MASM FOR WINDOWS软件逐步调试运行了改程序。 6 通过以上四个程序的设计、调试、运行,了解、熟悉并掌握了分支程序的基本结构和设计以及分支程序上机运行和调试方法。5、实验中存在问题及解决方法1 程序调试中,对一些转换指令及其执行过程中的对标志位的影响不是很熟悉,导致有些程序片段看起来有些吃力,尤其在调试过程中;在查看分析寄存器的存储状态时有些不太清楚。2 格式问题,对汇编程序编写的格式不太规范,导致一些基本简单的指令运行出错,比如在输入常量时,十六定制在教材学习中必须带上H,而在运行程序时,编写的程序中十六定制常量不能带有H。3 对教材中汇编程序的理论学习不扎实,很多指令原来没有完全掌握,导致在编写、运行程序时很多程序指令、执行结果、以及执行后的寄存器存储状态不太明白,一些执行过程没有完全理解透彻,以致在出现错误时很难找到原因。六、教师评语三、实验过程:四、实验结论五、实验中存在问题及解决方法六、教师评语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1