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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

福建农林大学汇编实验三分支循环程序设计详解.docx

1、福建农林大学汇编实验三分支循环程序设计详解福建农林大学计算机与信息学院实验报告系: 计算机 专业: 计算机科学与技术 年级: 2014 姓名 学号: 实验室号_ 计算机号 实验时间:2016-10-29指导教师签字: 刘庆连 成绩: 实验三 分支循环程序设计 1.实验目的 (1)学习调试程序,查找逻辑错误; (2)学习分支语句的编程和调试; (3)学习循环语句的编程和调试。 2.实验内容 1)有10个数,统计正数的个数,存放在变量M中中。经过汇编后,形成EXE文件。在DEBUG中,先用G0命令执行程序,用D命令查看M单元的内容,会发现结果不正确。用单步执行命令T0,单步执行程序,查找程序中的逻

2、辑错误,注意每一次循环中AL寄存器中值的变化是否正确?(AL寄存器中存放正数的个数) DSEG SEGMENT MSG DB 4, -2, -6, 0, 5, 67, 8, -3, 5, 6 M DB ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG START: MOV AX, DSEG MOV DS, AX MOV CX, 10 MOV AL, 0 LEA SI, MSG L1: MOV BL, SI CMP BL, 0 JBE NEXT INC AL NEXT: INC SI LOOP L1 MOV M, AL MOV AL, 0 MO

3、V AH, 4CH INT 21H CSEG ENDS END START 2)数据段中是一组无符号数,将最小数存放在M单元中。按上题方法查找一处逻辑错误。 DSEG SEGMENT MSG DB 13, 15, 7, 25, 24 M DB ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG START: MOV AX, DSEG MOV DS, AX MOV CX, 4 MOV AL, MSG MOV SI, OFFSET MSG+1 L1: CMP AL, SI JB NEXT MOV AL, SI NEXT: LOOP L1 MOV M

4、, AL MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START 3)编程:在首地址为BUF开始的内存单元中存有10个字节数,求其中0的个数,并将结果存于RESULT中。 4)编程:,Ai,Bi为字节型无符号数,分别存于NUM1和NUM2开始的连续存储单元中,结果存于REST单元中。4算法描述及实验步骤实验一:输入题目代码-保存-运行-调试-观察结果(在Masm for windows在完成)实验二: 根据代码实现功能从MSG中输入五个数,AL取第一个数,SI取第二个数,比较AL,SI所取到的数的大小,若ALSI,AL=SI; 将AL的内容输出,则得

5、出输出五个数中的最小数,步骤同实验一实验三:依题可编写如下代码指令实验四:依题可编写如下代码指令5调试过程无6. 实验结果【实验一】分步执行结果如下分析:当将第二个数-2放入放入BL的时候发现数值是FE,转化为十进制数是254,并非是-2的十六进制,原因是JBE命令是用于无符号数的,指令说明如下,要实现有符号数的比较要使用JLE指令 JBE指令说明 JLE指令说明 【实验二】分步执行结果如下分析:进入死循环,原因是两个数比较后,SI没有加1,一直停留在13和15的比较中,修改加入INC SI即可,如下图【实验三】执行结果如下分析,BUL中4, -2, -6, 0, 5, 67, 8, -3,

6、5, 6 0的个数是1,实验结果与预期一致【实验四】结果如下图分析:Ai:10,45和Bi:8,2的结果是 10*8+45*2=170转化为16进制是AA,有上图可知实验结果和预期一致!7. 总结通过此次实验,能够通过简单调试查找出错误,分步执行发现逻辑错误并改正,掌握并理解了分支语句的运用和循环语句的使用,纸上得来终觉浅,绝知此事要躬行,多多手动敲代码才能理解并掌握汇编的实质!附录:【实验三代码】DSEG SEGMENT BUF DB 4, -2, -6, 0, 5, 67, 8, -3, 5, 6 RESULT DB ? DSEG ENDS CSEG SEGMENT ASSUME CS:

7、CSEG, DS: DSEG START: MOV AX, DSEG MOV DS, AX MOV CX, 10 MOV AL, 0 LEA SI, BUF L1: MOV BL, SI CMP BL, 0 JNE NEXT INC AL NEXT: INC SI LOOP L1 MOV RESULT, AL MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START【实验四代码】DATA SEGMENT NUM1 DB 10,45 NUM2 DB 8,2 REST DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,NUM1 LEA DI,NUM2 MOV CX,10 MOV BX,0 L1: MOV AL,SI MUL BYTE PTRDI ADD BX,AX INC SI INC DI LOOP L1 MOV REST,BX MOV AH,4CH INT 21HCODE ENDSEND START

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

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