汇编指令系统

汇编指令系统

ID:35746092

大小:231.49 KB

页数:74页

时间:2019-04-16

汇编指令系统_第1页
汇编指令系统_第2页
汇编指令系统_第3页
汇编指令系统_第4页
汇编指令系统_第5页
资源描述:

《汇编指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、--3.80863.8086的指令系统3.1数据传送指令(P89)3.2算术运算指令(P96)3.3逻辑运算及移位指令(P107)3.4串操作指令(P114)3.5控制转移指令(P119)3.6输入/输出指令(P134)3.7处理器控制专用指令(P135)3.13.1数据传送指令?通用数据传送指令MOV(P90)?堆栈操作指令PUSH、POP(P91)?交换指令XCHG(P92)?查表指令XLAT(P93)?地址传送指令LEA、LDS、LES(P93)?标志传送指令(P95)LAHF、SAHF、PUSHF、POPF3.13.1数据传送指令通用数据传送指令MOV?功

2、能:将源操作数内容复制到目操作数中?MOVdst,src;(dst)←(src)?Dst:R,M,SR;Src:R,M,SR,Im寄存器(CS不作目的数)立即数段寄存器存储器3.13.1数据传送指令通用数据传送指令MOV例:MOVCX,0---MOVMOVAX,SIAX,DS---MOVSS,CX---MOVMOVDI,[BP]ES:[BX+2],CL---MOVWORDPTR[DI][BP],4FHCS不能做---目操作数3.13.1数据传送指令注意:?不影响标志位;?立即数、CS段寄存器不能做目的操作数;?两个存储单元之间不能直接进行数据传送;?两个段寄

3、存器之间不能直接进行数据传送;?不能直接给段寄存器送立即数;?两操作数必须等长传送可通过通用寄存器3.13.1数据传送指令通用寄存器的桥梁作用seg→r→segMOVAX,ESMOVDS,AXimm→r→segMOVAX,2000HMOVDS,AXMOVDS,ESseg←×→segMOVDS,2000Himm×→segm→r→mMOVAX,[20H]MOV[BX],AXMOV[BX],[20H]m←×→m思考:MOV[BX],20H?3.13.1数据传送指令?通用数据传送指令MOV(P90)?堆栈操作指令PUSH、POP(P91)?交换指令XCHG(P92)---

4、?查表指令XLAT(P93)---?地址传送指令LEA、LDS、LES(P93)?标志传送指令(P95)LAHF、SAHF、PUSHF、POPF3.13.1数据传送指令堆栈操作指令?入栈指令PUSHPUSHsrc;SP←SP-2(SP+1)←src(H)(SP)←src(L)srcreg16mem16seg?出栈指令POPPOPdst;dst(L)←(SP)dst(H)←(SP+1)SP←SP+2dstreg16mem16Seg(除CS)例:PUSHAXPUSHWORDPTR[BP]POPESPOPWORDPTR[BP][SI]3.13.1数据传送指令入栈操作示例

5、设有SS=3200H,SP=0800H,AX=105CH。SP=0800H→32800H⋯⋯StackPUSHAXSP=SP-1→327FFHSP=SP-1→327FEHSP=07FEH5CHAL10HAH3.13.1数据传送指令出栈操作示例---设有SS=3200H,SP=07FEHPOPAXSP=SP+1→32800HSP=SP+1→327FFHSP=07FEH→327FEH⋯⋯Stack10H5CHSP=0800HAX=105CHAHAL5CH10H3.13.1数据传送指令?一定是16位操作,即压入和弹出的一定是字单元,且高字节总是在高地址单元;?不允许使用

6、立即数作为操作数?不能以CS、IP作为目的操作数?因为8086系统的堆栈是向下(低地址端)生成的,并且是实栈顶,所以入栈时总是SP先减2再压入字,而出栈时总是先弹出字再将SP加2;?堆栈中的数据总是先进后出;?不影响标志位堆栈操作注意3.13.1数据传送指令?通用数据传送指令MOV(P90)?堆栈操作指令PUSH、POP(P91)?交换指令XCHG(P92)?查表指令XLAT(P93)?地址传送指令LEA、LDS、LES(P93)---?标志传送指令(P95)---LAHF、SAHF、PUSHF、POPF3.13.1数据传送指令交换指令XCHG?可使用的操作数类型

7、组合:---XCHGXCHGCL,DH;通用寄存器?AX,[BP];通用寄存器通用寄存器?存储器---?功能:将源、目操作数的内容互相交换,指令执行后源、目操作数同时被改变?指令形式:XCHGop1,op2;(op1)?(op2)?op1:R,M;op2:R,M立即数为什么不能做操作数?寄存器存储器3.13.1数据传送指令交换指令XCHG注意?不能直接交换两个存储单元的值;?任一个操作数都不能是段寄存器或立即数;?不影响标志位3.13.1数据传送指令《例》用MOV、PUSH,POP、XCHG指令完成两寄存器AX、BX中数据的交换(讨论所用机器码数量)?用MOV

8、指令?用P

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

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

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