7第七章 循环结构程序.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 循环结构程序 DSEG SEGMENT DATA1 DW 100H,110H,120H,130H,… DATA2 DW 1000H,1100H,1200H,1300H,… SUM DW 50 DUP(0) DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,DATA1 LEA DI,DATA2 LEA BX,SUM MOV AX,[SI] ADD AX,[DI] MOV [BX],AX ADD SI,2 ADD DI,2 ADD BX,2 MOV AX,[SI] ADD AX,[DI] MOV [BX],AX ADD SI,2 ADD DI,2 ADD BX,2 : : MOV AH,4CH INT 21H CSEG ENDS END START DSEG SEGMENT DATA1 DW 100,110,120,130,… DATA2 DW 1000,1100,1200,1300,… SUM DW 50 DUP(0) DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA SI,DATA1 LEA DI,DATA2 LEA BX,SUM MOV CX,50 AGAIN: MOV AX,[SI] ADD AX,[DI] MOV [BX],AX ADD SI,2 ADD DI,2 ADD BX,2 DEC CX JNZ AGAIN MOV AH,4CH INT 21H CSEG ENDS END START 循环控制指令共有三条: LOOP LOOPE/LOOPZ LOOPNE/LOOPNZ 存储器中仅由字节或字组成的一组数据称为数据串。由字节组成的数据串称为字节数据串,简称字节串;由字组成的数据串称为字数据串,简称字串。一个数据串的长度最长不能超过64KB。 数据串操作指令的寻址方式为数据串寻址: (1)指令中要处理的两个数据串应分别在数据段和附加段中定义。 (2)数据段中定义的数据串要用SI作指针; 附加段中定义的数据串要用DI作指针。 (3)数据串操作指令每执行一次,指针SI和DI会自动修改。增量修改还是减量修改取决于方向标志位DF的状态。 若DF=0,则指针增量修改,即 SI=SI+DELTA DI=DI+DELTA 若DF=1,则指针减量修改,即 SI=SI-DELTA DI=DI-DELTA (4)修改指针时的增减量值DELTA为多少,取决于所处理的串的类型。若串为字节类型,则DELTA=1;否则若为字类型,则DELTA=2。 7.4.2 重复前缀 可以加在数据串操作指令前的重复前缀有三种: REP 当CX≠ 0时,重复执行数据串操作指令 REPE/REPZ 当CX≠ 0并且ZF=1时,重复执行数据串操作指令 REPNE/REPNZ 当CX≠ 0并且ZF=0时,重复执行数据串操作指令 重复前缀可以加在数据串基本操作指令前,此时,数据串基本操作指令将重复执行,每执行一次,则将CX的内容减1,直到CX等于零为止。其控制结构属于先判断后执行的循环结构,即先判断CX的初值是否为0,若CX的初值为0,则数据串基本操作指令一次也不执行。 REP MOVS/MOVSB/MOVSW [D_STR,S_STR] 则操作可以解释成(设DF=0,数据串为字节串): (1)若CX=0,则使控制转到(6),否则继续执行下一步; (2)(ES:DI) (DS:SI) (3) SI SI+1 (4) DI DI+1 (5) CX CX-1,转(1) (6)结束 2. REP LODS/LODSB/LODSW 例 CLD REP LODSB 则操作可以解释成: (1)若CX=0,则使控制转到(5),否则继续执行下一步; (2) AL (DS:SI) (3) SI SI+1 (4) CX CX-1,转(1) (5)结束 3. REP STOS/STOSB/STOSW 例 CLD REP STOSB 则操作可以解释成: (1)若C

文档评论(0)

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

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

1亿VIP精品文档

相关文档