- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编分支循环程序设计.doc
汇编实验
系: 专业: 计算机科学与技术 年级:
姓名: 学号: 实验课程: 汇编语言
实验室号:___ 实验设备号: 实验时间: 2011.11.15
指导教师签字: 成绩:
分支循环学习调试程序,查找逻辑错误学习的编程和调试学习循环语句的编程和调试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
MOV AH, 4CH
INT 21H
CSEG ENDS
END START
数据段中是一组无符号数,将最小数存放在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, AL
MOV AL, 0
MOV AH, 4CH
INT 21H
CSEG ENDS
END START
编程:首地址为BUF10个字节数,求0的个数,存于RESULT中。编程:,A,B为字节型无符号数,分别存于NUM1和NUM2开始的连续存储单元中,结果存于REST单元中
4.算法描述及实验步骤
1、1)在debug中生成1.exe,用g命令执行程序。
2)使用d命令,用d命令查看M单元内容。
3)单步执行t命令。
2、1)在debug中生成2.exe,用g命令执行程序。
2)使用d命令,用d命令查看M单元内容。
3)单步执行t命令。
3、分析问题:
①将2,5,0,-2,4,0,0,-1,8,0十个字节数存放在内存单元中,将0的个数存放在RESULT中。
②用“LEA SI,MSG”指令取MSG的偏移地址到SI。
③把偏移地址SI中的内容存到BL中,利用“CMP BL,0”指令进行比较。不相等则跳转到NEXT即执行“JNE NEXT”。
④最后将AL送到RESULT中。
⑤流程图如下:
4、①Ai, Bi为字节型符号数,设Ai, Bi各有八个数,为12,34,56,78,90,02,37,81和9,76,54,32,10,01,02,03,分别存放于NUML1和NUML2开始的连续存储单元中。计算,结果存于REST单元中
5.调试过程
1、修改前:
修改后:
2、修改前:
修改后:
3、修改前:
修改后:
4、修改前:
修改后:
6. 实验结果
1、修改前:
运行
文档评论(0)