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

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

汇编语言上机实验

实验三分支和循环

一、实验目的

熟悉掌握利用比较转移指令实现分支,理解条件转移和无条件转移指令的区别,学习循

环程序的设计方法,会编制循环和分支的一般程序。

二、实验要点

在汇编语言中,分支指令分为条件分支和无条件分支两大类。凡条件分支指令均属相对

转移,其相对偏移值在-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,试编程:按有符号数对正、负数分别求和。并统计正、负数的个数。

程序代码:

DATASSEGMENT

BUF1DB12H,98H,45H,64H,78H,33H,0ABH,0CFH,17H,88H

PSUMDW0H

NSUMDW0H

PCOUNTDB0H

NCOUNTDB0H

DATASENDS

STACKSSEGMENT

DB100DUP(?)

STACKSENDS

CODESSEGMENT

ASSUMECS:CODES,DS:DATAS,SS:STACKS

START:

MOVAX,DATAS

MOVDS,AX

MOVSI,OFFSETBUF1

MOVCX,0AH

MOVDL,80H

NEXT:MOVBL,[SI]

CMPBL,DL

JNOL1

MOVAL,BL

CBW

ADDPSUM,AX

INCPCOUNT

INCSI

DECCX

JNZNEXT

L1:MOVAL,BL

CBW

ADDNSUM,AX

INCNCOUNT

INCSI

DECCX

JNZNEXT

MOVCX,0AH

SUBSI,SI

SUBBX,BX

SUBDX,DX

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

运行结果:

结果:

和个数

正数017DH6

负数009AH4

2.数据同上,试编程按无符号数,求出这组数中的最大值

程序代码:

DATASSEGMENT

BUFDB12H,98H,45H,64H,78H,33H,0ABH,0CFH,17H,88H

MAXDB0H

DATASENDS

STACKSSEGMENT

DB100DUP(?)

STACKSENDS

CODESSEGMENT

ASSUMECS:CODES,DS:DATAS

START:

MOVAX,DATAS

MOVDS,AX

MOVSI,0

MOVCX,0AH

MOVMAX,0

AGAIN:

MOVAL,BUF[SI]

CMPAL,MAX

JBE

文档评论(0)

186****1451 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档