- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本章主要教学内容 1.转移指令。 2.分支程序的基本结构和设计方法。 5.1 转移指令 5.1.2 条件转移指令 5.2 分支结构程序设计 2.双分支结构程序设计举例 5.2.2多分支结构程序设计 1.由多个双分支结构实现多分支结构程序设计 2.利用地址表法实现多分支程序设计 3.转移表法多分支程序设计 4.逻辑分解法多分支程序设计 例:根据AL中的值(0~4),执行不同的操作,用逻辑分解法编写程序 本章小结 本章主要介绍了转移指令和分支结构程序设计。 转移指令分无条件转移指令和条件转移指令。 无条件转移指令有:段内直接转移、段内间接转移、段间直接转移、 段间间接转移等形式。条件转移指令有:单条件转移指令、组合条件转移 指令。 分支程序分为双分支程序和多分支程序。 多分支程序的设计方法主要有:转移表法、地址表法和逻辑分解法。 * 第5章 转移指令与分支结构程序设计 汇编语言程序设计 * 本章主要教学目的及要求 1.理解掌握转移指令; 2.掌握分支程序的基本结构和设计方法; 3.能利用转移指令熟练设计分支程序。 转移的目标地址直接出现在指令中 功能:无条件地使程序转移到指定的目标地址 类型 段内转移 改变IP的值,CS的值不变 直接方式 间接方式 转移的目标地址在寄存器或存储单元中 段间转移 改变IP和CS的值 直接方式 间接方式 格式: JMP 目标标号 功能: IP ← IP + disp 格式: JMP 字地址指针 功能: IP ← EA 格式: JMP 目标标号 功能: IP ← OFFSET 目标标号 CS← SEG 目标标号 格式: JMP 双地址指针 功能: IP ← [EA] CS← [EA+2] 5.1.1 无条件转移指令JMP(jump) 功能:以某些标志位或标志位的逻辑运算为依据,满足条件,程序转移 至指定目标;不满足条件,程序顺序执行。 注意:条件转移的目标地址 在+127或-128字节的范围之内 分类:1.单个标志位的条件转移指令 2.组合条件的条件转移指令 1.单个标志位的条件转移指令 类型 C标志 JB/JNAE/JC C=1时,转移 JAE/JNB/JNC C=0时,转移 Z标志 JE/JZ Z=1时,转移 JNE/JNZ Z=0时,转移 S标志 JS S=1时,转移 JNS S=0时,转移 P标志 JP/PE P=1时,转移 JNP/JPO P=0时,转移 O标志 JO O=1时,转移 JNO O=0时,转移 2.组合条件的条件转移指令 类型 无符号数 JA/JNBE C∧Z=0,转移 JBE/JNA C∨Z=1 ,转移 带符号数 JG/JNLE [(S⊕O=0)∧(Z=0)] ,转移 JGE/JNL (S⊕O=0) ,转移 JL/JNGE [(S⊕O=1)∧(Z=0)] ,转移 JLE/JNG [(S⊕O=1)∨(Z=1)] ,转移 3.CX的值为0转移指令 格式:JCXZ CX=0,转移 说明:(1)条件转移指令不影响标志位 (2)条件转移指令前安排算术运算、比较、测试 等影响相应标志位的指令 5.2.1双分支结构程序 1.双分支结构程序的典型结构 条件 满足 不满足 程序段1 JMP 程序段2 例:将AL的最高位显示出来 SHL AL,1 JC NT1 MOV DL,30H JMP NT2 NT1: MOV DL,31H NT2: MOV AH,02H INT 21H 双分支结构程序的典型结构一 满足 不满足 条件 程序段 双分支结构程序的典型结构二 例:计算某个数的绝对值 CMP AX,0 JGE NT NEG AX NT: MOV RES,AX Y N AX≥0 求补 送结果 开始 JMP Y N CF=1 DL=0 DL=1 显示 开始 例:设计字符比较程序,两个字符相同时,显示YES;否则显示NO DATA SEGMENT D1 DB ‘A’ D2 DB ‘B’ RES1 DB ‘YES’, ’ $ ’ RES2 DB ‘NO’, ’ $ ’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,D1
文档评论(0)