第5幸基本结拘程序设计 1)段内直接短转移。 格式: JMP SHORT LABEL 说明: LABEL为转移后目的地址的标号,转移后的地址标 号必须在-128~+127之间。 (2)段内直接转移 格式: JMP NEAR LABEL 说明: LABEL为转移后目的地址的标号,转移后的地址标 号必须在-32768~+32767之间。此外,一般将段内直接短转移 和段内直接转移合并起来,写为 UMP LABEL的形式,具体属于 哪种转移由CPU在执行期间自动判断
第5章 基本结构程序设计 (1) 段内直接短转移。 格式: JMP SHORT LABEL 说明:LABEL为转移后目的地址的标号,转移后的地址标 号必须在-128~+127之间。 (2) 段内直接转移。 格式: JMP NEAR LABEL 说明:LABEL为转移后目的地址的标号,转移后的地址标 号必须在-32 768 ~ +32 767之间。此外,一般将段内直接短转移 和段内直接转移合并起来,写为JMP LABEL的形式,具体属于 哪种转移由CPU在执行期间自动判断
N第5章基结构程设计 (3)段内间接转移 格式: JMP reg/mem 说明:转移的偏移量在寄存器/存储器中 (4)段间直接转移。 格式: UMP FAR PTR LABEL 说明: LABEL为转移后目的地址的标号,转移后的地址与 指令所在的地址不在同一个代码段中,因此CS和IP均需改变
第5章 基本结构程序设计 (3) 段内间接转移。 格式: JMP reg/mem 说明:转移的偏移量在寄存器/存储器中。 (4) 段间直接转移。 格式: JMP FAR PTR LABEL 说明:LABEL为转移后目的地址的标号,转移后的地址与 指令所在的地址不在同一个代码段中,因此CS和IP均需改变
N第5章基结构程设计 (5)段间间接转移 格式: JMP DWORD PTR mem 说明:转移后目的地址在存储器中,因为CS和IP均需改变, 所以需要32位存储器操作数
第5章 基本结构程序设计 (5) 段间间接转移。 格式: JMP DWORD PTR mem 说明:转移后目的地址在存储器中,因为CS和IP均需改变, 所以需要32位存储器操作数
第5章基结构程库设计 例5-3 JMP END 转移到标号END处,CS不变,P改变 JMP FAR PTR NEXT 转移到标号NEXT处,CS改变,IP改变 JMP DWORD PTR [SI 将DS:[S开始的32位数据作为转移地址, CS改变,I改变
第5章 基本结构程序设计 例5-3 JMP END ;转移到标号END处,CS不变,IP改变 JMP FAR PTR NEXT ;转移到标号NEXT处,CS改变,IP改变 JMP DWORD PTR [SI] ;将DS∶[SI]开始的32位数据作为转移地址, ;CS改变,IP改变
第5章基结构程库设计 2.条件转移指令 80x86的条件转移指令比较多,它以某些标志位的逻辑运算 作为依据,若满足指令所规定的条件,则程序执行转移,否则 顺序执行。在这类指令中,转向的目的地址必须在转移指令的 128列或+127个字节之间,这些指令对标志位无影响,指令的助 记符也不惟 格式: JCC LABEL 功能:如果满足判断条件CC则转移到标号 LABEL处,否 则继续执行下一条指令
第5章 基本结构程序设计 2.条件转移指令 80x86的条件转移指令比较多,它以某些标志位的逻辑运算 作为依据,若满足指令所规定的条件,则程序执行转移,否则 顺序执行。在这类指令中,转向的目的地址必须在转移指令的- 128列或+127个字节之间,这些指令对标志位无影响,指令的助 记符也不惟一。 格式: JCC LABEL 功能: 如果满足判断条件CC则转移到标号LABEL处,否 则继续执行下一条指令