微机原理课件第08讲.pdf

微机原理课件第08讲.pdf

ID:53009612

大小:394.65 KB

页数:29页

时间:2020-04-11

微机原理课件第08讲.pdf_第1页
微机原理课件第08讲.pdf_第2页
微机原理课件第08讲.pdf_第3页
微机原理课件第08讲.pdf_第4页
微机原理课件第08讲.pdf_第5页
资源描述:

《微机原理课件第08讲.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理及接口技术第8讲一、数据传送指令1.MOVdst,src;source->desttnationMemoryCSAXSIDSBXDIESCXBPSSDXSPIP8086CPU指令队列以上示意图标出MOV指令允许传送数据的源和目的。例:指出如下指令是否格式正确,错误指令请改正。MOVDS,AX;√?MOVAX,DS;MOVCS,AX;MOVAX,CS;MOVDS,AL;MOVDS,SI;MOVBP,ES;MOVAX,SI;MOVDS,ES;1微机原理及接口技术MOVIP,AX;MOVAX,IP;M

2、OVAX,10;MOVAH,10;MOVIP,10;MOVDS,10;MOV10,AL;MOV[10],CS;MOVES:[10],CS;MOV[BX],DS;MOV[BX],AX;MOV[BX],BL;MOV[BX],[SI];MOV[BX],10;MOV[DX],10;MOV[BX],SS:[AX];MOVSS:[BX],AL;MOVSS:[BX],AX;2.堆栈操作指令注意:堆栈操作(数据存入堆栈段或从堆栈段中取出)必须按字进行(16位),存储器的每个地址中存8位数据,16位数据应占2个地址存放。2

3、微机原理及接口技术入栈:PUSHR/M;Register/Memory指令完成功能:将寄存器或存储器中的数据存入堆栈段中保存入栈过程:1)SP=SP-2;SS:SP合成的地址先减22)高8位数据→[SS:SP+1],低8位数据→[SS:SP]PUSH指令示意图如下:Memory入栈后SP=SP-134H入栈前12H堆栈段SSSP12H34HR/M入栈操作示意图出栈:POPR/M指令完成功能:从堆栈段中取出数据放入到寄存器或存储器中出栈过程:1)[SS:SP+1]→H(高8位),[SS:SP]→L(低8位)

4、2)SP=SP+2指令示意图为:3微机原理及接口技术Memory出栈前34H出栈后SP=SP+212H堆栈段SSSP12H34HR/M出栈操作示意图例:判断如下指令是否正确:PUSHAL;PUSH1234HPUSH[1234H];有方括号则为存储器PUSH[BX];[DS:BX]→[SS:SP]PUSH[BP];[SS:BP]→[SS:SP]3.交换指令XCHGOP1,OP2;OP1与OP2互换位置,位数必须相同。例:XCHGAX,1234H;XCHGAX,[1234H];XCHGAL,[1234H];X

5、CHGAH,AL;XCHGAX,BL;4.取M的有效地址(即偏移地址)指令LEAR16,MEM;MEM的EA送入寄存器R例:LEAAX,[100H];AX=?4微机原理及接口技术例:LEAAX,100H;例:LEABL,[100H];取有效地址指令的另一种写法为:MOVR16,OFFSETMEM;偏移地址为16位,不管多小。例:MOVAX,OFFSETX;变量名为存储器偏移地址例:MOVBX,[100H]5.换码指令XLAT;[DS:BX+AL]→AL例:LEABX,X;BX=MOVAX,1234H;AX

6、=MOVDS,AX;DS=MOVAL,0;AL=XLAT;AL=‘0’X1234H:5678H31H5000110011‘4’DSBX+AL‘5’1234H‘6’AL…XLAT指令执行时,AL中的数字0,换成了’0’的ASCII码。5微机原理及接口技术例:如何利用换码指令做一个平方表?此方法称为LOOPUPTABLE查表法。6.输入/输出指令(共8条)输入指令(4条)INAL,portINAX,portINAL,DXINAX,DXport:端口,一个外设地址称为一个端口例:INAL,100;100为外设的

7、地址,输入一个字节例:INAX,100;从100地址(低)和101地址(高)输入一个字I/O0示意图为…100=64H101=65HAL…AH255(FFH)256(100H)…?当外设地址小于256(或小于100H)时,指令中可直接写出外设地址,但外设地址大于等于256(不能用一字节表示)时,应将外6微机原理及接口技术设地址放入DX寄存器,采用指令的第3种或第4种形式。例:INAL,256;错改为:MOVDX,256INAL,DX;指令示意图如下:外设2552560DXAL注意,INAL,DX不是将16

8、位的DX值送入到8位的AL中。例:判断如下指令是否正确INAL,100H;INAL,[100];INAL,BX;INAL,[BX];IN100,AL;INBL,100;INBL,DX;应注意,IN指令执行时,8086从AD线上输出外设地址(AB=地址),M/IO=0,RD=0。还应注意,外设地址无段地址和偏移地址,port或DX值即为外设的地址。7微机原理及接口技术输出指令(4条):与IN指令类似,只是方向相反。OUTport

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

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

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