3.7分支程序的设计及简介.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NEPA: JE NEPB ;X=0,转NEPB MOV YY,1 ;X>0,YY←1 JMP STOP NEPB: MOV YY,0 ;X=0,YY←0 STOP: MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START 能否缺省?为什么? AL←N AL≥0? AL=AL+30H S 存AL值 END N Y AL=AL+07H AL≤9? AL≤15? AL=0FFH Y N N Y 例3.23检查N单元的数据是否为1位16进制数,是则将其转换为ASCII码,否则置为0FFH next1 next2 done 例3.24从键盘接受一个字符送入AL, 根据AL的数值进行跳转 AL←字符 AL ≤ 30H? BX=Li首址 S 转移到Li执行 END Y N AL逻辑左移1位 AL ≥39H ? Y N AL=AL-30H AH=0 L9 L9 L1 L1 L0 L0 TAB +1 +2 +3 +17 +18 设由键盘输入 ‘0’~‘9’中的任一个到AL,则AL的内容就为‘0’~‘9’中的任一个字符的ASCII值。然后根据ASCII值转到L0、L1、……、L9程序段中。 * * 3.7 分支程序的设计 分支程序就是根据条件的不同完成不同功能的程序。 编写分支程序要用到转移指令。 关键问题是:转移指令? (1) 段内直接转移指令 格式:JMP SHORT OPRD;OPRD≡{标号} 功能:将程序无条件地转移到标号OPRD为起点的程序段执行。 操作:IP←IP+D8;D8为8位偏移量的补码 转移范围:IP-128~IP+127(256字节) 3.7.1 无条件转移指令 ① 段内直接短转移指令 例: : JMP SHORT NEXT; : NEXT:MOV AL,05H; 操作码 08H 操作码 CS:0100H 05H 0101H 0102H 010AH 010BH JMP SHORT NEXT 8位位移量 MOV AL,05H 由计算机根据转移的相对位置计算得到。 说明:转移指令可以从现行指令地址(IP)向低地址转移——D8为负数;也可以向高地址转移——D8为正数。 注意:JMP SHORT PTR CCC;错误指令 ? 格式:JMP NEAR PTR OPRD; 其中,OPRD≡{标号} 功能:将程序无条件地转移到标号OPRD为起点的程序段执行。 操作:IP←IP+D16;D16为16位偏移量的补码 转移范围:IP-32768~IP+32767(64K一个段) ② 段内直接近转移指令 说明:直接转移指令中的目标地址OPRD直接使用要转向指令的标号,属性操作符NEAR PTR在指令中可省略,直接写成 : 其中, 标号的偏移地址=当前转移指令的下一条指令的偏移地址+位移量 位移量是是16位的,可以由汇编程序在汇编过程中,根据标号地址与JMP指令所在地址进行计算得到。 JMP 标号 ; IP←标号的偏移地址 例: : JMP NEAR PTR NEXT; : NEXT:MOV AL,05H; 由计算机根据转移的相对位置计算得到。 操作码 07H 操作码 CS:0100H 05H 0101H 0102H 010AH 010BH JMP NEXT 16位位移量 MOV AL,05H 00H 格式:JMP OPRD; OPRD≡{R,M} 操作:IP←[EA];EA为OPRD确定的有效地址。 例如:JMP BX; (IP)←((BX))或[BX] 说明:有效地址EA由OPRD的寻址方式确定。若是寄存器寻址,则寄存器内存放的就是EA;若是MEM寻址,那么EA就是寻址单元的内容。 (2) 段内间接转移指令 例3.19 JMP WORD PTR [BX+20H] 设DS=3000H,BX=1000H,则存放转移有效地址的字单元的物理地址: PA=30000H+1000H+20H=31020H 若指令执行前,CS=0100H,IP=2110H,(31020H)=C6H,(31021H)=40H,则指令执行后,IP=40C6H,CS值不变。 因此,程序就转移到0100H:40C6H处继续执行,如下所示 CS : IP … 0100H:2110H JMP WORD PTR [BX+

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档