文档详情

第六章 分支结构程序设计.ppt

发布:2023-09-04约1.71万字共108页下载文档
文本预览下载声明
第六章 分支结构程序设计;带着问题学习:;学习要点;;第六章 分支结构程序设计;任务:;Ch=‘a’?;;1.两路分支结构 2.多级分支结构 3.多路分支结构 ;;;;6.2 控制转移类指令;控制转移类指令;6.2.1 无条件转移指令;用来确定转移指令及CALL指令的转向地址。;目标地址的寻址方式;目标地址的范围:段内;目标地址的范围:段间;段内转移、直接寻址;(1) 段内直接寻址;例: JMP NEAR PTR NEXT 近转移 -32768 ~ +32767 JMP SHORT NEXT 短转移 -128 ~ +127 ;段内转移、间接寻址;(2) 段内间接寻址 转向的有效地址是一个寄存器或存储单元的内容。 (可用除立即数以外的任何一种数据寻址方式得到) 例: (BX)=1256H (SI)=528EH TABLE=20A2H (DS)=2000H (232F8H)=3280H (264E4H)=2450H JMP BX ; (IP)=1256H JMP TABLE[BX] JMP WORD PTR TABLE[BX] ; (IP)=3280H JMP [BX][SI] JMP WORD PTR [BX][SI] ; (IP)=2450H;段间转移、直接寻址;code1 segment …… jmp far ptr next …… code1 ends;段间转移、间接寻址;(4) 段间间接寻址 用存储器中的两个相继字的内容取代CS 和 IP。 (存储单元的地址可用除立即数和寄存器以外的 任何一种数据寻址方式得到) 例: JMP DWORD PTR [INTERS+BX];无条件转移指令;无条件转移指令;6.2.2 条件转移指令;相对寻址方式;Jcc指令的分类; (1) 根据单个条件标志的设置情况转移    格式 测试条件 JZ (JE) OPR ZF = 1 JNZ (JNE) OPR ZF = 0 JS OPR SF = 1 JNS OPR SF = 0 JO OPR OF = 1 JNO OPR OF = 0 JP OPR PF = 1 JNP OPR PF = 0 JC OPR CF = 1 JNC OPR CF = 0; ;(3) 比较两个带符号数,并根据比较结果转移 * 格式 测试条件 JL(JNGE) OPR SF?OF = 1 = JNL(JGE) OPR SF?OF = 0 = JLE(JNG) OPR (SF?OF)∨ZF = 1 JNLE(JG) OPR (SF?OF)∨ZF = 0 适用于带符号数的比较 (4) 测试CX的值,为0则转移 格式 测试条件 JCXZ OPR (CX) = 0;条件转移指令中的条件cc;1. 判断单个标志位状态;例6.2:JZ/JNZ指令;例6.3:JS/JNS指令;例6.4:JO/JN
显示全部
相似文档