控制转移类指令PPT课件.ppt
《控制转移类指令PPT课件.ppt》由会员分享,可在线阅读,更多相关《控制转移类指令PPT课件.ppt(54页珍藏版)》请在三一办公上搜索。
1、8088/8086CPU指令系统,寻址方式解决了操作数存放的形式,本节讲述 8088/8086 CPU基本指令的助记符表示形式及功能结合不同的寻址方式,将 133 条基本 指令组合为上千种指令功能,8088/8086 CPU 基本指令类,数据传送类指令算术运算类指令逻辑运算类指令串操作类指令控制转移类指令处理器控制类指令,程序转移指令用来控制程序的走向,其实质是设法改变当前的CS和IP值,以使CPU转移到一个新的地址处执行程序。,控制转移类指令,控制转移类指令,无条件转移指令 JMP 指令 CALL、RET指令有条件转移指令 JXX 组指令中断指令 INT、IRET、INTO指令循环控制指令
2、LOOP,LOOPZ,LOOPNZ指令,控制转移类指令,JMP 无条件转移指令,段内直接短转移 JMP SHORT LABEL;IP目的 IP当前+rel8(8 bit 符号数)rel8 在-128+127之间 段内直接近转移 JMP NEAR LABEL;IP目的 IP当前+rel16(16 bit 符号数)rel16 在-32768+32767之间,段内直接短转移 rel8,IP源,IP当前,IP目的,错误的 rel8,正确的 rel8,LABEL,JMP SHOR LABEL,IP目的 IP当前+rel8IP目的 IP源+rel8+2,注:rel8 80H,06H,段内直接近转移 rel
3、16,IP源,IP当前,IP目的,错误的 rel16,正确的 rel16,LABEL,JMP NEAR LABEL,IP目的 IP当前+rel16IP目的 IP源+rel16+3,00H,05H,例:设标号偏移地址=1000H,执行完JMP指令后的当前IP值为0009H,则,位移量=1000H0009H=0FF7H,控制转移类指令,JMP 无条件转移指令,段内间接转移 寄存器中的值为段内IP目的地址 JMP BX 存储器中的值为段内IP目的地址 JMP WORD BX JMP WORD 2000H,注:段内转移方式 CS不变、IP变,控制转移类指令,JMP 无条件转移指令,段间直接远转移 JM
4、P FAR LABEL;LABEL 为 CS目的:IP目的 段间间接远转移 JMP DWORD BX;CS目的:IP目的 在地址 BX 中,注:段间转移方式 CS变、IP变,当前CS=2100H,JMP 0C 02 00 65,转移目标的偏移地址,转移目标的段地址,16 21000H,代码段1,16 65000H,新CS=6500H,代码段2,转移至此,当前IP=1500H,新IP=020CH,控制转移类指令,段内间接转移与段间间接远转移讨论,JMP BX;指令错误,未确定BX中的数据类型 JMP WORD BX;段内间接转移,返回 16 位 IP目的 值 JMP DWORD BX;段间间接远
5、转移,返回 32 位 CS目的:IP目的 值,段内间接转移与段间间接远转移例,若(BX)=2000H JMP WORD BX CS目的=CS源 IP目的=3C2AH JMP DWORD BX CS目的=3367H IP目的=3C2AH,2000H,控制转移类指令,CALL、RET 过程调用与过程返回指令,过程调用指令 CALL LABEL 段内近调用过程 CS 不变,IP 变;保护现场即将IP当前值入栈 段间远调用过程 CS、IP 均变;保护现场即将CS当前、IP当前值入栈 过程返回指令 RET 定义近过程时 RET 指令恢复现场即将 IP当前值出栈 定义远过程时 RET 指令恢复现场即将 I
6、P当前、CS当前值出栈,控制转移类指令,(IP当前)SS:SP 保护现场 IP 值入栈,段内近调用过程 CALL LABEL,段内近调用返回 RET,(IP当前)SS:SP 恢复现场 IP 值出栈,段间远调用过程 CALL LABEL,(CS当前)SS:SP 恢复现场 CS 值出栈,(CS当前)SS:SP 保护现场 CS 值入栈,(IP当前)SS:SP 保护现场 IP 值入栈,段间远调用返回 RET,(IP当前)SS:SP 恢复现场 IP 值出栈,控制转移类指令,近过程的调用时的保持现场,.MOV AX,BX CALL MAINMOV BX,AX.,2002H,CS,2005H,IP当前 入栈
7、,IP目的=8030H,IP源,IP当前,2000H,控制转移类指令,CALL指令中的直接调用与间接调用段内近过程调用直接 IP目的间接 IP目的段间远过程调用直接 CS目的:IP目的间接 CS目的:IP目的,CALL MAIN,CALL BX,CALL DWORD BX,CALL MAIN,控制转移类指令,CALL、JMP 指令比较,CALL 指令 先保护现场 CS当前:IP当前后获得调用过程入口CS目的:IP目的,JMP 指令 不保护现场 CS当前:IP当前只获得跳转程序入口CS目的:IP目的,控制转移类指令,JXX 有条件转移指令,指令格式 JL、JGE、.JNZ 等 指令特点 仅有段内
8、短转移,IP目的=IP当前+rel8 rel8 值在页内,即-128+127间 前导指令 CMP、TEST、DEC CX 等,注:执行 JXX 指令前的指令必须影响 标志位,条件转移指令的执行流程,控制转移类指令,有条件转移指令的英文符号,Zero 目的操作数减源操作数为0(ZF=0)Equal 目的操作数等于源操作数(ZF=0)Above 目的操作数高于源操作数(CF=0)Below 目的操作数低于源操作数(CF=1)Greater 目的操作数大于源操作数(OF SF=0)Less 目的操作数小于源操作数(OF SF=1)Carry 两无符号运算后有进位(CF=1)Overflow 两有符号
9、运算后有溢出(OF=1)Sign 两有符号运算后有符号(SF=1)Parity 奇偶位为偶(PF=1)Not 不是,控制转移类指令,JXX指令与状态标志位 ZF、CF,与ZF有关的条件转移指令 JE/JZ 两数相等/两数相减不为零(ZF=0)JNE/JNZ 两数有等/两数相减为零(ZF=1)与CF有关的条件转移指令 JAE/JNB 高于或等于/不低于(CF=0)JNC 无进位/无借位(CF=0)JB/JNAE 低于/不高于也不等于(CF=1)JC 有进位/有借位(CF=1),例:JC/JNC指令,;统计BX中1的个数(方法一)xor al,al;AL0,CF0again:test bx,0ff
10、ffh;等价于 cmp bx,0je next;ZF=1,即(BX)=0,转移shl bx,1jnc again;CF=0.转移inc al;CF=1,加1jmp againnext:.;AL保存1的个数,统计BX中“1”的个数(方法二),xor al,al;AL0,CF0again:cmp bx,0jz nextshl bx,1;也可使用 shr bx,1adc al,0jmp againnext:.;AL保存1的个数,例:JZ/JNZ指令,repz cmpsb;重复比较两个字符串jnz unmat;ZF0(不等),转移mov al,0;顺序执行(相等)jmp outputunmat:mov
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制 转移 指令 PPT 课件

链接地址:https://www.31ppt.com/p-6190574.html