汇编分支与循环实验报告.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编分支与循环实验报告

汇编语言上机实验 实验三 分支和循环 一、实验目的 熟悉掌握利用比较转移指令实现分支,理解条件转移和无条件转移指令的区别,学习循环程序的设计方法,会编制循环和分支的一般程序。 二、实验要点 在汇编语言中,分支指令分为条件分支和无条件分支两大类。凡条件分支指令均属相对转移,其相对偏移值在-128至127之间。无条件分支指令又分相对转移和绝对转移。凡在段内转移均为相对转移,相对转移又分为SHORT和NEAR两种。前者同条件相对转移,NEAR类型转移范围在-8000H至7FFFH之间。段间转移通常为绝对转移,绝对转移又分为直接转移和间接转移,因为应根据不同情况来选用这些指令。 在条件转移指令中,分为适用于有符号数比较的条件转移和无符号数比较的条件转移,因此在进行有符号数比较大小时,要使用JG、JGE、JL、JLE等指令来实现条件分支;同样对无符号数比较要使用JA、JAE、JB、JBE等指令来实现分支转移。 对于循环程序设计,在循环体外要设置循环计数器,通常用CX来做计数器,此外要设置地址指针,使之指向所要使用的操作数的初始地址。循环体根据制定的要求来编制,循环体的转移标号位置要设置正确,循环的判断条件要明确。结束循环一般是循环次数减至为零,或满足特定条件提前退出循环。 三、实验任务及步骤 1.设数据缓冲区内容有如下一组数据:12H、98H、45H、64H、78H、33H、0ABH、0CFH、17H、88H,试编程:按有符号数对正、负数分别求和。并统计正、负数的个数。 程序代码: DATAS SEGMENT BUF1 DB 12H,98H,45H,64H,78H,33H,0ABH,0CFH,17H,88H PSUM DW 0H NSUM DW 0H PCOUNT DB 0H NCOUNT DB 0H DATAS ENDS STACKS SEGMENT DB 100 DUP(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX MOV SI,OFFSET BUF1 MOV CX,0AH MOV DL,80H NEXT: MOV BL,[SI] CMP BL,DL JNO L1 MOV AL,BL CBW ADD PSUM,AX INC PCOUNT INC SI DEC CX JNZ NEXT L1: MOV AL,BL CBW ADD NSUM,AX INC NCOUNT INC SI DEC CX JNZ NEXT MOV CX,0AH SUB SI,SI SUB BX,BX SUB DX,DX MOV AH,4CH INT 21H CODES ENDS END START 运行结果: 结果: 和 个数 正数 017DH 6 负数 009AH 4 2.数据同上,试编程按无符号数,求出这组数中的最大值 程序代码: DATAS SEGMENT BUF DB 12H,98H,45H,64H,78H,33H,0ABH,0CFH,17H,88H MAX DB 0H DATAS ENDS STACKS SEGMENT DB 100 DUP(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV SI,0 MOV CX,0AH MOV MAX,0 AGAIN: MOV AL,BUF[SI] CMP AL,MAX JBE NEXT MOV MAX,AL JMP NEXT NEXT: INC SI LOOPNE AGAIN MOV AH,4CH INT 21H CODES ENDS END START 运行结果: 无符号最大值:0CFH 3. 数据同上,试编程按有符号数,求出这组数中的最小值 程序代码: 流程图: DATAS SEGMENT BUF DB 12H,98H,45H,64H,78H,33H,0ABH,

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档