北理工自动化复试微机原理第五章第二部分ppt课件.ppt

北理工自动化复试微机原理第五章第二部分ppt课件.ppt

ID:58821456

大小:1.04 MB

页数:215页

时间:2020-10-01

北理工自动化复试微机原理第五章第二部分ppt课件.ppt_第1页
北理工自动化复试微机原理第五章第二部分ppt课件.ppt_第2页
北理工自动化复试微机原理第五章第二部分ppt课件.ppt_第3页
北理工自动化复试微机原理第五章第二部分ppt课件.ppt_第4页
北理工自动化复试微机原理第五章第二部分ppt课件.ppt_第5页
资源描述:

《北理工自动化复试微机原理第五章第二部分ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、8086和8088的指令系统传送类指令数据操作类指令串操作指令控制类指令本章要求编程与程序调试传送类指令传送类指令是指令系统中最活跃的一类指令,也是条数最多的一类指令,主要用于数据的保存及交换等场合。这类指令分为以下四种:通用数据传送指令目标地址传送指令标志位传送指令输入/输出数据传送指令小结返回通用数据传送指令通用数据传送指令主要由以下几部分组成:最基本的传送指令堆栈操作指令数据交换指令查表换码指令返回特点:该类指令的执行对标志位不产生影响最基本的传送指令指令格式:MOV目的操作数,源操作数指令功能:实现CPU内部寄存器之间的数据传送、寄存器和内存之间的数据传送,以及把一个立即

2、数送给CPU的内部寄存器或者内存单元。示 例返回MOV指令示例MOVES,DX;DX中16位数据送ESMOVAX,[BX];BX和BX+1所指的两个内存单元的内容送AXMOV[DI],AX;累加器的内容送DI和DI+1所指的两个单元MOVCX,[1000H];将1000H和1001H两单元的内容送CXMOVDX,5040H;立即数5040H送DXMOVWORDPTR[SI],6070H;立即数6070送SI和SI+1所指的两个单元;这里的PTR是一个汇编操作符,与前面的WORD一起,意思是从SI地址中取一个字;而不是一个字节一般数据传送指令注意:两操作数字长必须相同两操作数不允许

3、同时为存储器操作数两操作数不允许同时为段寄存器在源操作数是立即数时,目标操作数不能是段寄存器IP和CS不作为目标操作数,FLAGS一般也不作为操作数在指令中出现一般数据传送指令应用例将(*)的ASCII码2AH送入内存1000H开始的100个单元中:MOVDI,1000HMOVCX,64HMOVAL,2AHAGAIN:MOV[DI],ALINCDI;DI+1DECCX;CX-1JNZAGAIN;CX≠0则继续HLT上段程序在代码段中的存放形式设CS=109EH,IP=0100H,则各条指令存放地址如下:CS:IP109E:0100MOVDI,1000H109E:0103MOVCX

4、,64H109E:0106MOVAL,2AH109E:0108MOV[DI],AL109E:010AINCDI109E:010BDECCX109E:010CJNZ0108109E:010EHLT数据段中的分布送上2AH后数据段中相应存储单元的内容改变如下:DS:10002A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10102A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10202A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10302A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10

5、402A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10502A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10602A2A2A2A000000000000000000000000偏移地址[DI]返回堆栈操作指令指令格式:PUSH源操作数/POP目的操作数实现功能:完成对寄存器的值的保存和恢复注意事项:使用堆栈操作指令时,应预置堆栈段寄存器SS、堆栈指示器SP的值,使SP指向当前堆栈段的栈顶。在执行PUSH指令时,堆栈指示器SP自动减2;然后,将一个字以源操作数传送至栈顶。POP指令是将SP指出的当前堆栈段的栈顶的一个操作数,传送到

6、目的操作数中,然后,SP自动加2,指向新的栈顶。flash堆栈操作指令掌握:有关堆栈的概念栈顶、栈首、栈底堆栈指令的操作原理执行过程,执行结果堆栈操作的原则后进先出以字为单位堆栈操作指令压栈指令PUSH执行过程:(SP)←(SP)-2(SP)-1←操作数高字节(SP)-2←操作数低字节出栈指令POP执行过程:(SP)操作数低字节(SP)+1操作数高字节(SP)←(SP)+2压栈指令的操作设AX=1234H,SP=1200H,执行PUSHAX指令后堆栈区的状态:堆栈段1200H┇SP-2=11FEH12H34H1200H┇堆栈段12H34HAX入栈后入栈前出栈指令的操作执行POPA

7、X堆栈区的状态:12H34H11FEH┇堆栈段代码段PUSH1234AXSP+2堆栈操作指令说明指令的操作数必须是16位的操作数可以是寄存器或存储器两单元,但不能是立即数不能从栈顶弹出一个字给CSPUSH和POP指令在程序中一般成对出现PUSH指令的操作方向是从高地址向低地址,而POP指令的操作正好相反堆栈操作指令示例例:将16位通用寄存器CX的内容压入堆栈,然后,弹出栈顶至CX中,已知:(SS)=0200H,(SP)=0008H,(CX)=12FAH,其示意图如下所示:•••1

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

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

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