《X86指令系统》PPT课件

《X86指令系统》PPT课件

ID:39366554

大小:924.10 KB

页数:74页

时间:2019-07-01

《X86指令系统》PPT课件_第1页
《X86指令系统》PPT课件_第2页
《X86指令系统》PPT课件_第3页
《X86指令系统》PPT课件_第4页
《X86指令系统》PPT课件_第5页
资源描述:

《《X86指令系统》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1五.控制传送指令(Controltransferinstructions)(一)、控制传送指令概述控制传送指令包括四种:转移指令,循环控制指令,过程调用指令,中断指令。1、转移指令转移指令包括两种:(1)、JMP(Jump)无条件转移指令(2)、Jcc条件转移指令2(1)、JMP(Jump)无条件转移指令JMP指令的操作:无条件地将控制转移到指令中规定的目的地目标地址可以是:直接方式/间接方式给出。JMP指令不影响标志位。转移分成两类:段内或段间转移。无条件转移指令有五种格式:段内直接短转移段内直接近转移段内间接转移段间直接远转移段间间接转移3(

2、2)、Jcc条件转移指令汇编程序设计中常利用条件转移指令来实现分支。“cc”-表示条件。操作数必须是短标号。转移范围为:-128~+127具体条件转移指令分四种情况讨论:根据单个条件标志的设置情况转移JZ(JE)/JNZ(JNE),JS/JNS,JO/JNO,JP(JPE)/JNP(JPO),JB(JNAE、JC)/JNB(JAE、JNC),根据两个无符号数比较结果转移JB(JNAE、JC)/JNB(JAE、JNC),JBE(JNA)/JNBE(JA)比较两个带符号数,并根据比较结果转移JL(JNGE)/JNL(JGE),JLE(JNG)/JNLE

3、(JG)测试CX的值为零转移JCXZ42、过程调用指令如果有一些程序段在不同地方反复出现,可以将这些程序段设计成为过程(子程序)供调用。过程结束,返回调用处。过程调用指令包括:过程调用指令和返回指令(1)、CALL(Callaprocedure)调用CALL调用指令段内直接调用段间直接调用段内间接调用段间间接调用(2)、RET(Returefromprocedure)返回RET返回指令段内返回段间返回段内带立即数返回段间带立即数返回53、循环控制指令循环控制指令用于使一些程序段反复执行形成循环程序。循环控制指令有三种:(1)、LOOP(Loop

4、)循环指令(2)、LOOPE/LOOPZ(Loopifequal/Loopifzero)当相等/为“0”循环(3)、LOOPNE/LOOPNZ(Loopifnotequal/Loopifnotzero)当不相等/不为“0”循环64、中断指令8086/8088CPU可以在程序中安排一条中断指令引起中断过程,这种中断称为软中断。8086/8088CPU共有三条中断指令:(1)、INT(Interrupt)(2)、INTO(Interruptifoverflow)(3)、IRET(InterruptReturn)7指令类型助记符无条件转移JMP条件转移J

5、E/JZ,JNE/JNZ,JS,JNS,JP/JPE,JNP/JPO,JO,JNO,JC,JNC,JB/JNAE,JAE/JNB,JA/JNBE,JBE/JNA,JG/JNLE,JGE/JNL,JL/JNGE,JLE/JNG,JCXZ循环控制LOOP,LOOPE/LOOPZ,LOOPNE/LOOPNZ过程调用CALL,RET中断指令INT,INTO,IRET归结控制转移指令分类8(二)控制转移指令(Controltransferinstructions)1、转移指令转移指令将程序控制从一处转换到另一处的最直接方法。在CPU内部,转移是通过将目标地址

6、传送给CS:IP来实现的。注意:CS—段地址IP—偏移量9先介绍控制和非控制转移指令的概念非控制转移指令:指令本身对CS和IP均无操作,形成顺序执行结构。顺序执行结构:顺序存放,顺序执行控制转移指令:以CS和IP为主要操作对象,改变CS和IP寄存器的值,就改变了程序执行的流程。10在8086/8088中,指令的地址固定由CS和IP两个寄存器决定。CS和IP两寄存器的内容决定了程序的流程,改变CS和IP寄存器的值,就改变了程序执行的流程。8086/8088中CS和IP的变化规则:reset复位后,CS=FFFFH,IP=0故8088从内存FFFF:0

7、000H处取第一条指令执行,第一条指令在内存的ROM区。非控制转移指令CPU取来一条指令后,自动将IP的值加上该指令的字节数,使IP顺序指向下一条指令,CPU取来紧接着的指令执行。(此时IP的变化由CPU内部的硬件自动完成)11控制转移指令以CS和IP为主要操作对象控制转移指令改变CS和IP的值,使程序产生分支、调用结构。分支结构、调用结构:顺序存放,非顺序执行例:比较AX、BX的大小,将大数存于(max)单元CMPAX,BXJGEgreatXCHGAX,BXgreat:MOV[max],AX12(1)、JMP(Jump)无条件转移指令JMP(jm

8、p)跳转指令。JMP指令必须指定转移的目标地址(或转向地址)。转移分成两类:段内或段间转移。段内转移:只要改变IP寄存器的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。