第9次课控制转移类指令_第1页
第9次课控制转移类指令_第2页
第9次课控制转移类指令_第3页
第9次课控制转移类指令_第4页
第9次课控制转移类指令_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本次课要点:,第4章指令系统,1、掌握控制转移类指令(循环指令,子程序调用指令,返回指令)和串处理指令。2、掌握精简指令系统和复杂指令系统的基本概念及特征。3、讲解第8章课后习题。,(一)无条件转移指令JMP目标地址,(二)条件转移指令JXXX目标地址,指令功能:测试条件满足:IP(IP)+8位位移量其中:(IP)的值为JXXX指令下一条指令的地址,8位位移量采用补码表示;测试的条件满足,则转到目标地址执行;测试的条件不满足,则顺序执行下一条指令。,四、控制转移类指令,第4章指令系统,条件转移指令及其判断条件,四、控制转移类指令,第4章指令系统,续表,第4章指令系统,(三)CX寄存器的值测试转移指令,四、控制转移类指令,第4章指令系统,指令格式:JCXZ目标地址,指令功能:测试CX内容,(CX)=0,转到目标处,否则,顺序执行。,(四)循环控制指令位移量是8位二进制以补码表示的带符号数。(1)LOOP指令格式:LOOP目标地址功能:循环次数(CX)-1CX;(CX)不为零,继续循环,转到目标处,否则,顺序执行。,四、控制转移类指令,第4章指令系统,(四)循环控制指令(续),四、控制转移类指令,第4章指令系统,(2)LOOPE/LOOPZ指令格式:LOOPE/LOOPZ目标地址功能:循环次数(CX)-1CX;若(CX)不为零,且ZF=1,转到目标处,继续执行,否则(CX)=0或ZF=0),顺序执行。,(3)LOOPNE/LOOPNZ指令格式:LOOPNE/LOOPNZ目标地址功能:循环次数(CX)-1CX;(CX)不为零,且ZF=0,转到目标处,继续执行,否则(CX)=0或ZF=1),顺序执行。,(四)循环控制指令(续),四、控制转移类指令,第4章指令系统,(五)子程序的调用与返回指令,四、控制转移类指令,第4章指令系统,返回地址入栈,IP或CS和IP转移到(过程名所代表的)入口地址,(1)CALL调用子程序指令CALL目标地址,段内,段间,CALLSUB1CALLBXCALLWORDPTRBX,CALLFARPTRSUB1CALLDWORDPTRBX,(五)子程序的调用与返回指令,四、控制转移类指令,第4章指令系统,(2)RET从子程序返回指令,指令格式:RETPARA,过程返回地址从栈中弹出到IP(CS)中返回原来的调用点。,段内,段间,返回指令,段内,段间,带立即数返回指令,RET,RETn,(五)中断子程序的调用与返回指令,四、控制转移类指令,第4章指令系统,(1)INT软中断指令指令格式:INTn(其中:n为中断类型码,0-255之间)指令功能:PUSHF,TF、IF清0,CS、IP入栈按中断类型码n,从中断向量表对应位置取出将要调用的功能子程序的入口地址CS,IP。,(五)中断子程序的调用与返回指令,四、控制转移类指令,第4章指令系统,(2)INTO如果溢出则中断指令指令格式:INOT指令功能:判断OF的值,为1,中断,否则不中断。,(五)中断子程序的调用与返回指令,四、控制转移类指令,第4章指令系统,(2)IRET从中断子程序返回指令指令格式:IRET指令功能:从中断子程序返回断点,五、串处理指令,第4章指令系统,MOVS(movestring)串传送CMPS(comparestring)串比较SCAS(scanstring)串扫描LODS(loadfromstring)从串取STOS(storeintostring)存入串,五、串处理指令(续),第4章指令系统,与上述配合使用的前缀有:REP(repeat)重复REPE/REPZ(repeatwhileequal/zero)REPNE/REPNZ(repeatwhilenotequal/zero),1.与REP配合工作的MOVS/STOS/LODS指令(1).REP执行操作:(1)如(CX)=0则退出REP,否则转(2)(2)(CX)(CX)-1(3)执行其后的串操作指令(4)重复(1)-(3),五、串处理指令(续),第4章指令系统,(2)MOVS串传送指令MOVSDST,SRCMOVSB(字节)MOVSW(字)MOVSD(双字),五、串处理指令(续),第4章指令系统,例:MOVSES:BYTEPTRDI,DS:SI执行操作:(1)(DI)(SI)(2)字节操作:(SI)(SI)1,(DI)(DI)1字操作:(SI)(SI)2,(DI)(DI)2双字操作:(SI)(SI)4,(DI)(DI)4方向标志DF=0时用+,DF=1时用-。REPMOVS:将数据段中的整串数据传送到附加段中。源串(数据段)目的串(附加段),五、串处理指令(续),第4章指令系统,执行REPMOVS之前,应先做好(1)源串首地址(反向为末地址)SI(2)目的串首地址(末地址)DI(3)串长度CX建立方向标志(CLD使DF=0,正向;STD使DF=1,反向),五、串处理指令(续),第4章指令系统,(SI)(DI),数据段附加段,(SI)(DI),五、串处理指令(续),第4章指令系统,datareasegmentmess1dbpersonal_computerdatareaendsextrasegmentmess2db17dup(?)extraendscodesegmentassumecs:code,ds:datarea,es:extramovax,datamovds,axmovax,extramoves,axleasi,mess1leadi,mess2movcx,17cldrepmovsbcodeends,五、串处理指令(续),第4章指令系统,leadi,mess2moval,20Hmovcx,10cldrepstosb,五、串处理指令(续),第4章指令系统,(4)LODS从串取指令LODSSRCLODSB(字节)LODSW(字)LODSD(双字)执行操作:字节操作:(AL)(SI),(SI)(SI)1字操作:(AX)(SI),(SI)(SI)2双字操作:(EAX)(SI),(SI)(SI)4,五、串处理指令(续),第4章指令系统,2.与REPE/REPZ(REPNE/REPNZ)配合工作的CMPS和SCAS(1)REPE/REPZ(当相等/为零时重复串操作)执行操作:(1)如(CX)=0或ZF=0(即某次比较不相等时)则退出串操作,否则转(2)(2)(CX)(CX)-1(3)执行CMPS/SCAS(4)重复(1)(3),五、串处理指令(续),第4章指令系统,2.与REPE/REPZ(REPNE/REPNZ)配合工作的CMPS和SCAS(2)REPNE/REPNZ(当不相等/不为零时重复串操作)执行操作:(1)如(CX)=0或ZF=1(即某次比较相等时)则退出串操作,否则转(2)(2)(CX)(CX)-1(3)执行CMPS/SCAS(4)重复(1)(3),五、串处理指令(续),第4章指令系统,(3)CMPS串比较指令CMPSSRC,DSTCMPSB(字节)CMPSW(字)CMPSD(双字)执行操作:(1)(SI)-(DI)根据比较结果置条件标志位:相等ZF=1不等ZF=0(2)字节操作:(SI)(SI)1,(DI)(DI)1字操作:(SI)(SI)2,(DI)(DI)2双字操作:(SI)(SI)4,(DI)(DI)4,五、串处理指令(续),第4章指令系统,(4)SCAS串扫描指令SCASDSTSCASB(字节)SCASW(字)SCASD(双字)执行操作:字节操作:(AL)-(DI),(DI)(DI)1字操作:(AX)-(DI),(DI)(DI)2双字操作:(EAX)-(DI),(DI)(DI)4,五、串处理指令(续),第4章指令系统,例:从一个字符串中查找一个指定的字符messdbCOMPUTERleadi,messmoval,Tmovcx,8cldrepnescasb,C,O,M,P,U,T,E,R,(di),(CX)=2,五、串处理指令(续),第4章指令系统,例:比较两个字符串,找出它们不相匹配的位置,例:反向传送,leasi,mess1leadi,mess2movcx,8cldrepecmpsb,leasi,mess1+7leadi,mess2+7movcx,8STDrepmovsb,五、串处理指令(续),第4章指令系统,(3)进位标志取反指令CMC:CF取反(4)清除方向标志指令CLD:置DF=0(5)方向标志置位指令STD:置DF=1(6)清除中断标志指令CLI:置IF=0(7)中断标志置位指令STI:置IF=1,六、处理器控制类指令(一)标志位处理指令(1)清除进位标志指令CLC:置CF=0(2)进位标志置位指令STC:置CF=1,第4章指令系统,(二)处理器控制指令,(1)HLT:停机指令(2)WAIT:等待指令(CPU等待外部事件就绪达到同步目的)(3)ESC:换码指令,外部协处理器指令的前缀(4)LOCK:总线封锁前缀指令,(5)NOP:空操作指令,用于延时,第4章指令系统,七、CISC与RISC指令系统,1.CISC(ComplexInstructionSetComputer)复杂指令系统计算机执行一条指令要多次访问主存。执行一条指令需要多个微周期。,流水线作业中,长指令的执行,妨碍其他指令的操作。,寻址方式复杂,不易优化。,第4章指令系统,2.RISC(ReducedIn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论