最新微机原理第3章46PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《最新微机原理第3章46PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理第3章46PPT课件.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 微机 原理 46 PPT 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内