最新微机原理第3章46PPT课件.ppt

上传人:豆**** 文档编号:59520864 上传时间:2022-11-10 格式:PPT 页数:49 大小:704KB
返回 下载 相关 举报
最新微机原理第3章46PPT课件.ppt_第1页
第1页 / 共49页
最新微机原理第3章46PPT课件.ppt_第2页
第2页 / 共49页
点击查看更多>>
资源描述

《最新微机原理第3章46PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理第3章46PPT课件.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、微机原理第微机原理第3章章46l程序是指令的集合程序是指令的集合l指令在内存中顺序存放指令在内存中顺序存放lCSCS和和IPIP两寄存器的内容决两寄存器的内容决定了程序的流程,改变定了程序的流程,改变CSCS和和IPIP寄存器的值,就改变寄存器的值,就改变了程序执行的流程。了程序执行的流程。BB0001B12090 指令指令1指令指令2指令指令3指令指令n指令指令n+1指令指令n+2(2)段内间接转移n格式:格式:JMP OPRDnOPRD是是16位的寄存器或者存储器地址位的寄存器或者存储器地址n若若OPRD是存储器操作数,则要加上类型指是存储器操作数,则要加上类型指示符示符WORD PTRn

2、CS保持不变保持不变举例举例nJMP AX (IP)(AX),段内间接转移,段内间接转移nJMP WORD PTRSI 设设(SI)=2600H,(DS)=7000H,(72600H)=12H,(72601H)=34H则执行完指令后,则执行完指令后,(IP)=3412H(3)段间直接转移段间直接转移格式:格式:JMP FAR label 指指令令中中直直接接提提供供要要转转移移的的16位位段段地地址址和和16位位的偏移地址。的偏移地址。例:例:JMP 8000H:6000H则则(CS)=8000H,(IP)=6000H 格式:格式:JMP OPRD操作:操作:OPRD是一个是一个32位的存储器

3、地址,将位的存储器地址,将 指定的连续指定的连续4个内存单元的内容送入个内存单元的内容送入IP和和CS,低字的内容送,低字的内容送IP,高字的内容送,高字的内容送CS。(4)段间间接转移wJMP DWORD PTR BX设设(BX)=1000H,(DS)=2000H 21000H 12H 34H 56H 78H举例举例2.条件转移指令条件转移指令 以单个状态标志位作为转移条件以单个状态标志位作为转移条件 以以CX的值为的值为0作为转移条件作为转移条件 以两个无符号数比较的结果作为转移以两个无符号数比较的结果作为转移条件条件高于:高于:Above 低于:低于:Below 以两个带符号数比较的结果

4、作为转移以两个带符号数比较的结果作为转移条件条件助记符助记符 JG/JNLE 大于大于/不小于等于不小于等于 JGE/JNL 大于等于大于等于/不小于不小于 JL/JNGE 小于小于/不大于等于不大于等于 JLE/JNG 小于等于小于等于/不大于不大于 大于:Great 小于:Less例题例题 在以在以TABEL为首地址的内存数据段中,存为首地址的内存数据段中,存放有放有100个个8位带符号数,试统计其中正数、位带符号数,试统计其中正数、负数和零的个数,并分别将个数存入负数和零的个数,并分别将个数存入PLUS、MINUS和和ZERO 3个单元中。个单元中。(见(见P143 例例3-48)XOR

5、AL,ALMOVPLUS,ALMOVMINUS,ALMOVZERO,ALLEASI,TABLEMOVCX,100CLDAGAIN:LODSBCMPAL,0JZX1JGX2INCMINUSJMPNEXTX1:INCZEROJMPNEXTX2:INCPLUSNEXT:LOOPAGAINHLT 3.循环控制指令循环控制指令u 在循环程序中用来控制循环,其控制转向在循环程序中用来控制循环,其控制转向的目标地址是以当前的目标地址是以当前IP内容为中心的内容为中心的-128+127。u循环次数预先放入循环次数预先放入CX中,每循环一次,中,每循环一次,CX内容减内容减1,若,若(CX)0,则继续循环,否,

6、则继续循环,否则退出循环。则退出循环。(1)LOOP指令指令 格式:格式:LOOP LABEL 执行操作:(执行操作:(CX)(CX)1,CX 0,继续循环,继续循环 CX=0,退出循环,退出循环 LOOP指令相当于以下两条指令的组合 DEC CX JNZ NEXT MOV CX,100;指定循环指定循环100次次 START ;循环体入口循环体入口 ;循环体;循环体 LOOP START ;CXCX1,;CX 0时,转移到时,转移到START ;CX0时,从这里继续时,从这里继续见P153 3.15 解:解:LEA SI,BUFFER MOV CX,200 XOR BX,BXAGAIN:MO

7、V AL,SI CMP AL,0 JNE GOON INC BXGOON:INC SI LOOP AGAIN HLT试编写程序,统计试编写程序,统计BUFFER为起始地址的连续为起始地址的连续200个单元中个单元中0的个数。的个数。(2)LOOPE/LOOPZ 指令指令 格式:格式:LOOPE/LOOPZ LABEL 执行操作:执行操作:(CX)(CX)1,CX 0且且ZF=1,继续循环,继续循环 CX=0 或或ZF=0,退出循环,退出循环 (3)LOOPNE/LOOPNZ 指令指令 格式:格式:LOOPNE/LOOPNZ LABEL 执行操作:执行操作:(CX)(CX)1,CX 0且且ZF=

8、0,继续循环,继续循环 CX=0 或或ZF=1,退出循环,退出循环 举例举例(P145 例例3-50)统计以统计以BUFFER为起始地址的为起始地址的100个单个单元中负数的个数,并将统计出来的负数元中负数的个数,并将统计出来的负数个数送个数送NUM单元。单元。XORBL,BL;存放负数的个数;存放负数的个数MOVCX,100;循环次数;循环次数LEASI,BUFFER;取偏移地址,指针;取偏移地址,指针CLD;DF=0NEXT:LODSB;取一个数;取一个数TESTAL,80H;是负数吗?;是负数吗?JZGOON;否;否INCBL;是负数,计数器加;是负数,计数器加1GOON:LOOPNEX

9、T;(;(CX)-1,若,若CX 0则循环则循环MOVNUM,BL;保存负数个数;保存负数个数例例2:设有一:设有一ASCII码字符串,其长度为码字符串,其长度为N,首地址,首地址为为STRING,要在其字符串中找出有没有字符,要在其字符串中找出有没有字符“#”。MOVSI,OFFSETSTRINGMOVCX,NMOVAL,#NEXT:CMPAL,SIINCSILOOPNZNEXT4.过程调用过程调用CALL和返回和返回(1)程序中具有相同功能的部分通常以)程序中具有相同功能的部分通常以子程序(过程)子程序(过程)形式出形式出现。主程序再需要时直接调用即可。现。主程序再需要时直接调用即可。(2

10、)程序调用指令:无条件转移到目标地址去执行一个子程序,)程序调用指令:无条件转移到目标地址去执行一个子程序,且子程序执行完后,仍回到且子程序执行完后,仍回到CALL的下一条指令继续执行原程的下一条指令继续执行原程序。序。(3)调用指令)调用指令CALL执行时,执行时,CPU先将下一条指令的地址压入先将下一条指令的地址压入堆栈保存,然后将子程序入口地址送入堆栈保存,然后将子程序入口地址送入IP(或(或CS:IP),转),转去执行子程序,子程序执行完后将栈顶内容返回给去执行子程序,子程序执行完后将栈顶内容返回给IP(或(或CS:IP)主主程程序序子子程程序序调调用用返返回回返回指令返回指令返返回回

11、 、调用指令调用指令、调调用用 主主程程序序子子程程序序、n过程名过程名(子程序名子程序名):第一条指令的地址。第一条指令的地址。n子程序、主程序可在同一段内,也可不在同子程序、主程序可在同一段内,也可不在同一段内,同一段内,同JMP指令一样,也有四种形式。指令一样,也有四种形式。n返回指令执行与返回指令执行与CALL指令相反的操作。指令相反的操作。过程定义方法过程定义方法符号名符号名 PROC 类型类型 、RET符号名符号名 ENDP 例:例:display PROC near 、RET display ENDP按按过过程程与与调调用用语语句句间间的的位位置置,过过程程有有两两种种类类型型:

12、NEAR类型:调用指令与过程在同一个段中。类型:调用指令与过程在同一个段中。FAR类型:调用指令与过程不在同一个段中。类型:调用指令与过程不在同一个段中。调用指令调用指令CALL(1 1)段内直接调用)段内直接调用格式:格式:CALL NEAR PROC CALL NEAR PROC ;NEARNEAR属性属性执行:执行:(SPSP)(SPSP)-2-2 (IPIP)(IPIP)+16+16位偏移量位偏移量 其中:其中:PROCPROC为近过程符号地址,在当前代码段内。为近过程符号地址,在当前代码段内。NEAR NEAR可忽略。可忽略。例例:NEAR 类型过程类型过程 (调用指令与过程在调用指

13、令与过程在同一个段中同一个段中)CODE SEGMENT ;code段段 CALL SUB ;调用;调用 SUB PROC NEAR ;过程定义;过程定义 RET ;返回;返回 SUB ENDP CODE ENDS(2)段内间接调用)段内间接调用格式:格式:CALL reg16/mem16OPRD为为16位寄存器或存储器操作数位寄存器或存储器操作数 例:例:CALL BX 设(设(BX)=1234H,则(,则(IP)=1234H CALL WORD PTR 1000H 设(设(DS)=5200H,(,(53000H)=11H (53001H)=22H,则(则(IP)=2211H(3)段间直接调

14、用段间直接调用格式:格式:CALL FAR 符号地址符号地址FAR 类型过程:调用指令与过程不在同类型过程:调用指令与过程不在同一个段中。一个段中。例:例:CALL 3000H:2100H则(则(CS)=3000H,(,(IP)=2100H 例例:code1SEGMENT;code1段段CALLFARdisplay;调用;调用code1ENDScode2SEGMENT;code2段段displayPROCFAR;过程定义;过程定义RET;返回;返回displayENDPcode2ENDS(4)段间间接调用)段间间接调用n格式:CALL mem32例:CALL DWORD PTR DI 设(DS

15、)=6000H,(DI)=4000H则(CS)=4433H,(IP)=2211H11H22H33H44H64000H返回指令返回指令RETl子程序的最后一条指令为子程序的最后一条指令为RET,执行与,执行与CALL指令指令相反的操作。相反的操作。l功能:从栈顶弹出返回地址,如为段内返回,则弹功能:从栈顶弹出返回地址,如为段内返回,则弹出一个字给出一个字给IP;如为段间返回,则先弹出一个字;如为段间返回,则先弹出一个字给给IP,再弹出一个字给,再弹出一个字给CS。l注:注:CALL指令与指令与RET指令要成对配合使用。指令要成对配合使用。5.5.中断指令中断指令 硬件中断 非屏蔽中断(NMI)可

16、屏蔽中断(INTR:IF)软件中断:中断指令引起的(INT n)n8086可处理可处理256种类型的中断,为了对各种中断种类型的中断,为了对各种中断加以区别,规定每个中断对应一个中断类型码加以区别,规定每个中断对应一个中断类型码(0-255)。nINT n (n为中断类型码为中断类型码)n中断地址:中断服务子程序的入口地址,称为中断地址:中断服务子程序的入口地址,称为中中断向量断向量,包括包括段地址、偏移地址。段地址、偏移地址。类型类型N的中断向量固定存放在的中断向量固定存放在4个内存单元中,即:个内存单元中,即:(0:N4 0:N4+3)偏移偏移地址地址段段地址地址0:N40:N42中断子程

17、序中断子程序N的入口地的入口地址在内存中的位置址在内存中的位置其中:前两个单元存放偏移地址其中:前两个单元存放偏移地址 后两个单元存放段地址后两个单元存放段地址 格式格式:INT N ;其中;其中 N=0 FFH(0255)执执行行:标标志志寄寄存存器器、INT指指令令的的下下一一条条指指令令地地址址的的CS、IP依次入栈依次入栈 (IP)(0:N 4)(CS)(0:N4+2)中断返回指令中断返回指令IRETl格式:格式:IRETl中断返回时:恢复(中断返回时:恢复(IP)、()、(CS)及(及(PSW)l执行:执行:将栈顶内容依次弹出到将栈顶内容依次弹出到IP、CS及标志及标志 寄存器中寄存

18、器中l任何中断服务子程序最后一条指令都是任何中断服务子程序最后一条指令都是IRET指令。指令。中断类型中断类型功能功能类型类型0除数为除数为0中断例行程序中断例行程序类型类型1单步单步类型类型2非屏蔽中断,非屏蔽中断,NMI类型类型3设置断点设置断点类型类型4溢出处理中断,溢出处理中断,INTO指令指令类型类型10显示设备中断显示设备中断类型类型20程序结束中断程序结束中断类型类型21DOS系统功能调用功能程序系统功能调用功能程序中断类型(见中断类型(见P410 附录附录C)3.6 处理器控制指令1、标志处理指令标志处理指令设置和清除标志的指令,只影响指令指设置和清除标志的指令,只影响指令指定的标志。定的标志。2、外部同步指令、外部同步指令u暂停指令暂停指令HLT使程序停止执行,处理器进入暂停状态。使程序停止执行,处理器进入暂停状态。u处理器脱离指令处理器脱离指令ESCu处理器等待指令处理器等待指令WAITu总线锁定指令总线锁定指令LOCKu空操作指令空操作指令NOP一是可以延时,二是调试程序时使用。一是可以延时,二是调试程序时使用。结束语结束语谢谢大家聆听!谢谢大家聆听!49

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁