- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言第5章课件
汇编语言程序设计;第五章 分支结构程序设计; 在许多问题的求解中,往往需要根据某种条件的判断做出操作选择。这种程序结构称为“分支结构”或“选择结构”。汇编语言中实现分支结构的主要机制是CPU的标志寄存器、指令标号和转移指令。当某个操作影响了标志寄存器后,可以通过条件转移指令和一个指令标号,使CPU跳过一些指令的执行,实现程序的分支。;5.2 转移指令 ;5.2.1 无条件转移指令 JMP (Jump)
指令汇编格式:JMP targ
操作:①段内转移:IP ←目标的偏移地址
②段间转移:IP ← 目标的偏移地址
CS ←目标所处代码段的基址
受影响的状态标志位:无
(1)段内转移(NEAR)
段内直接短转移(短程转移) 段内直接近转移(近程转移)
格式:JMP SHORT 〈标号〉 格式:JMP NEAR PTR 〈标号〉
操作:IP←IP+D8 操作:IP←IP+D16
JMP LABEL_N ;LABEL_N 在当前代码段
JMP SHORT LABEL_N ;在 – 128 ~ 127 之间;2)段内间接转移
段内寄存器间接转移
JMP AX ;AX 的内容是目标地址的偏移量
段内存储器间接转移
JMP [SI] ;IP ←(SI,SI+1)
JMP BETA_W ;IP ←(BETA_W , BETA_W + 1)
JMP [DI][BX] ;IP ←(DI + BX,DI + BX + 1)
(2)段间转移(FAR)
段间直接转移
JMP LABEL_FAR ;LABEL_FAR 是在其它代码段的机器指令
;标号,并以用 PUBLIC 说明,本段中已用
;EXTRN 说明,未经说明的不能引用。
PUBLIC :公用标号。本段定义的标号,在本段和其它段均可使用
EXTRN:外部标号。其它段定义的标号,在本段中引用;2)段间存储器间接转移
JMP DWORD PTR [SI]
;IP (SI,SI + 1),CS ←(SI + 2 ,SI + 3)
JMP VAR_DW ;VAR_DW 是属性为双字节类型的标号
;IP ←(VAR_DW , VAR_DW + 1 )
;CS ←(VAR_DW + 2 , VAR_DW + 3 )
JMP DWORD PTR [BX][DI] ;第一个字送 IP ;第二个字送CS。
5.2.2 条件转移指令
条件转移指令是根据对不同的状态标志的测试为条件,当条件成立时,则发生转移,条件不成立时,则顺序执行程序。
条件转移指令只发生在当前代码段,即从下条指令算起的 – 128 ~ +127 字节的地址范围以内。
条件转移指令不影响标志位。;(1)单标志判断;(2)两数之间关系判别;开始;程序清单如下:
1:;* * * * * EXAM 5.2 * * * * *
2:SSEG SEGMENT STACK
3:STK DB 50 DUP(0)
4:SSEG ENDS
5:DSEG SEGMENT
6:ARGX DB - 5
7:RLT DB ?
8:DSEG ENDS
9:CSEG SEGMENT
10: ASSUME CS:CSEG,DS:DSEG
11: ASSUME SS:SSEG
12:BEGIN: MOV AX,DSEG ;设置数据段地址
13: MOV DS,AX
14: MOV AX,SSEG ;设置堆栈段地址
15: MOV SS,AX
16: MOV SP,SIZE STK ;设置堆栈指针
17: MOV AL,ARGX ;取数据 X
18: AND AL,AL ;置标志;19: JS ABSL ;X 0(SF = 1)转 32 行
20: JZ MOVE ;X = 0(ZF = 1)转 33 行
21: CMP AL,8 ;X ≤ 8 ?
22: JLE ONE ;是,转 到 30 行
23: CMP AL,15 ;X ≥ 15 ?
24: JGE MOVE ;是,转 33 行存结果
25: SAL AL,1 ;左移,即 X × 2
26: SAL
您可能关注的文档
最近下载
- TBNCY002-2023 西双版纳红茶 晒红茶.pdf VIP
- 机关单位人力资源管理中存在的问题及解决对策.docx VIP
- 2025年中级(四级)营销员职业技能鉴定《理论知识》真题卷(后附答案及解析).pdf VIP
- 大数据概论教学课件.pptx VIP
- 西双版纳红茶 晒红茶.docx VIP
- 室内装修全工程施工方案(3篇).docx VIP
- 2025年卫生事业单位招聘考试(中医学基础知识)历年参考题库含答案详解(5卷).docx VIP
- 50个广告分析.doc VIP
- GB32030-2022 潜水电泵能效限定值及能效等级 (2).pdf VIP
- (语文)福州时代中学2020级初一新生入学检测.pdf VIP
文档评论(0)