微处理器及其系统1

微处理器及其系统1

ID:39638573

大小:214.01 KB

页数:29页

时间:2019-07-08

微处理器及其系统1_第1页
微处理器及其系统1_第2页
微处理器及其系统1_第3页
微处理器及其系统1_第4页
微处理器及其系统1_第5页
资源描述:

《微处理器及其系统1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、指令的分类一数据传送指令二算术运算指令三逻辑运算和移位循环类指令四串操作指令五程序控制指令六处理器控制指令五程序控制指令控制程序的流向:1无条件转移2条件转移3循环控制4过程调用与返回5中断1无条件转移JMPLabel1.…..Label1:相当于goto语句JMP1025H;段内直接近转移JMP25H;段内直接短转移JMPBX;段内间接转移JMP2000:0100H;段间直接转移JMPDWORDPTR[BX+010AH];段间间接转移,目标地址存放在DS段从BX+010AH开始的4个存储单元中例:条件转移指令可以分为以下几大类:1)、根据单个条件标志的设置情况转移2)、比较两个无符号数3

2、)、比较两个带符号数4)、CX寄存器值判断2条件转移指令根据执行上一指令后标志寄存器的状态而决定是否转移JZ/JEOPR;结果为0或相等,则转移ZF=1JNZ/JNEOPR;结果不为0或不相等,则转移ZF=0JSOPR;结果为负,则转移SF=1JNSOPR;结果为正,则转移SF=01)、根据单个条件标志的设置情况转移JOOPR;溢出,则转移OF=1JNOOPR;不溢出,则转移OF=0JP/JPEOPR;奇偶位为1,则转移PF=1JNP/JPOOPR;奇偶位为0,则转移PF=0JCOPR;低于(不高于也不等于)或进位为1,则转移CF=1JNCOPR;不低于(高于或等于)或进位为0,则转移CF

3、=0JB/JNAE/JCOPR;(<)低于,不高于也不等于,或进位CF=1,则转移JNB/JAE/JNCOPR;(>=)不低于,高于或等于,或进位CF=0,则转移JBE/JNAOPR;(<=)低于或等于,不高于,则转移CF=1或ZF=1JNBE/JAOPR;(>)不低于也不等于,高于,则转移CF=0且ZF=02)、比较两个无符号数3)、比较两个带符号数JL/JNGEOPR;(<)小于,不大于也不等于,则转移SF⊕OF=1且ZF=0JLE/JNGOPR;(<=)小于或等于,不大于,则转移(SF⊕OF=1)或ZF=1JNL/JGEOPR;(>=)不小于,大于或等于,则转移SF⊕OF=0或ZF=

4、1JNLE/JGOPR;(>)不小于也不等于,大于,则转移(SF⊕OF=0)且ZF=04)、CX寄存器值判断JCXZOPR;根据CX内容修改情况产生不同的分支。CX值为0,则转移说明(1)比较两个数的大小后转移,要看是有符号数还是无符号数。无符号数用“高于”和“低于”来判断,有符号数用“大于”和“小于”来判断。(2)大部分可以用两种助记符表示。(3)8086的条件转移指令寻址段内短转移。的转移范围:与转移指令的字节距离-128~+127CMPAX,0HJNZL2JMPL1L2:xxxx1L1:xxxxxxxCMPAX,0HJZL1xxxx1L1:xxxxxxx距离超过1273循环控制与CX

5、配合使用,循环次数由CX寄存器指定。指令所控制的目的地址都是-128--+127范围内。该类指令主要有以下三种:1)、LOOP循环指令2)、LOOPZ/LOOPE指令3)、LOOPNZ/LOOPNE指令1)、LOOPLABEL;先将CX的内容减1,再判断CX中是否为0,为0则退出,否则循环。操作同于:DECCXJNZ符号地址2)LOOPZ/LOOPEOPR;先将CX的内容减1,再判断CX中是否为0,并且判断ZF是否为1。如果ZF=0,或CX=0,则退出;只有在ZF=1并且CX≠0情况下,才继续循环。指令说明:(1)CX中的值为0时,并不会影响标志位ZF,ZF由前面其它指令来决定(2)该指令

6、可用于查找相等的情况。3)LOOPNZ/LOOPNEOPR;先将CX的内容减1,再判断CX中是否为0,并且判断ZF是否为1。如果ZF=0,并且CX≠0,则继续循环;只有在CX=0,或ZF=1情况下,则退出循环。指令说明:(1)CX中的值为0时,并不会影响标志位ZF,ZF由前面其它指令来决定。(2)该指令用于查找不相等的情况。1)、过程调用指令:CALL2)、过程返回指令:RET4过程调用与返回子程序调用和返回指令都不影响标志位。程序中某些具有独立功能的部分编写成独立的程序模块,称之为过程或子程序。1)、过程调用指令例:CALL1234H;段内直接调用CALLBX;段内间接调用CALL300

7、0H:0005H;段间直接调用CALLDWORDPTR[DI];段间间接调用格式:CALL过程注意:没有直接短转移。调用指令与转移指令的比较用于调用一个子过程调用前须保护断点地址子过程执行结束后要返回原调用处继续执行原程序断点恢复调用指令在执行时,会把下一条指令的地址推入堆栈,这个地址叫返回地址。在段内调用的情况下,只把返回地址的偏移量推入堆栈,在段间调用的情况下,把返回地址的段地址和偏移量都推入堆栈。断点入口地址调用指

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

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

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