微机原理第3章4.ppt

微机原理第3章4.ppt

ID:52881035

大小:573.00 KB

页数:58页

时间:2020-04-14

微机原理第3章4.ppt_第1页
微机原理第3章4.ppt_第2页
微机原理第3章4.ppt_第3页
微机原理第3章4.ppt_第4页
微机原理第3章4.ppt_第5页
资源描述:

《微机原理第3章4.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、3.3.5程序控制指令:控制程序的执行顺序DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器、、、指令1指令2指令3指令4、、、数据1数据2数据3、、、地址总线AB数据总线DB控制总线CB地址译码器程序是指令的集合指令在内存中顺序存放CS和IP两寄存器的内容决定了程序的流程,改变CS和IP寄存器的值,就改变了程序执行的流程。BB0001B12090………………指令1指令2指令3指令n指令n+1指令n+21.

2、为使程序转移到一个新的地方去执行,可以改变IP的值,称为段内转移(近转移,NEAR);也可以改变CS、IP,称为段间转移(远转移,FAR)。2.无论是段内还是段间转移,都有间接转移和直接转移之分。直接转移:指令中直接给出转移地址。间接转移:转移地址间接存储于寄存器或存储单元中。计算段内转移地址有两种方法一种是把当前IP值增加或减少某一个值,也就是以当前指令为中心往前或往后转移,称相对转移。另一种是以新的值完全代替当前IP值,称绝对转移。在8086中,所有段内直接转移都是相对转移;所有段内间接转移都是绝对转移。8086提供了四种程序控制指令

3、转移指令循环控制指令中断指令过程调用指令1.无条件转移指令JMP(Jump):无条件转移到目标地址target去执行程序。(1)段内直接转移①JMPSHORTLABEL段内直接短转移,8位,-128~+127②JMPNEARLABEL段内直接近转移,16位,-32768~+32767LABEL:标号,称为符号地址,表示转移的目的地。功能:当前IP的值+地址位移量→(IP)CS保持不变。举例JMP7CH;段内直接短转移JMP6700H;段内直接近转移(2)段内间接转移格式:JMPOPRDOPRD是16位的寄存器或者存储器地址若OPRD是存储

4、器操作数,则要加上类型指示符WORDPTRCS保持不变举例①JMPAX(IP)←(AX),段内间接转移②JMPWORDPTR[SI]设(SI)=2600H,(DS)=7000H,(72600H)=12H,(72601H)=34H则执行完指令后,(IP)=3412H(3)段间直接转移格式:JMPFARlabel指令中直接提供要转移的16位段地址和16位的偏移地址。例:JMP8000H:6000H则(CS)=8000H,(IP)=6000H格式:JMPOPRD操作:OPRD是一个32位的存储器地址,将指定的连续4个内存单元的内容送入IP和CS

5、,低字的内容送IP,高字的内容送CS。(4)段间间接转移JMPDWORDPTR[BX]设(BX)=1000H,(DS)=2000H21000H12H34H56H78H举例2.条件转移指令①以单个状态标志位作为转移条件②以CX的值为0作为转移条件③以两个无符号数比较的结果作为转移条件高于:Above低于:Below④以两个带符号数比较的结果作为转移条件助记符JG/JNLE大于/不小于等于JGE/JNL大于等于/不小于JL/JNGE小于/不大于等于JLE/JNG小于等于/不大于大于:Great小于:Less例题在以TABEL为首地址的内存数据

6、段中,存放有100个8位带符号数,试统计其中正数、负数和零的个数,并分别将个数存入PLUS、MINUS和ZERO3个单元中。(见P136例3-43)XORAL,ALMOVPLUS,ALMOVMINUS,ALMOVZERO,ALLEASI,TABLEMOVCX,100CLDAGAIN:LODSBCMPAL,0JZX1JGX2INCMINUSJMPNEXTX1:INCZEROJMPNEXTX2:INCPLUSNEXT:DECCXJNZAGAINHLT3.循环控制指令在循环程序中用来控制循环,其控制转向的目标地址是以当前IP内容为中心的-128

7、~+127。循环次数预先放入CX中,每循环一次,CX内容减1,若(CX)0,则继续循环,否则退出循环。(1)LOOP指令格式:LOOPLABEL执行操作:(CX)←(CX)-1,CX0,继续循环CX=0,退出循环LOOP指令相当于以下两条指令的组合DECCXJNZNEXTMOVCX,100;指定循环100次START∶……;循环体入口……;循环体LOOPSTART;CX←CX-1,……;CX0时,转移到START;CX=0时,从这里继续见P1473.15解:LEASI,BUFFERMOVCX,200XORBX,BXAGAIN:MOV

8、AL,[SI]CMPAL,0JNEGOONINCBXGOON:INCSILOOPAGAINHLT试编写程序,统计BUFFER为起始地址的连续200个单元中0的个数。(2)LOOPE/LOOPZ

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

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

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