数据传送指令.ppt

数据传送指令.ppt

ID:46153925

大小:141.50 KB

页数:40页

时间:2019-11-21

数据传送指令.ppt_第1页
数据传送指令.ppt_第2页
数据传送指令.ppt_第3页
数据传送指令.ppt_第4页
数据传送指令.ppt_第5页
资源描述:

《数据传送指令.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、指令系统(1)数据传送指令指令系统数据传送指令算术运算指令逻辑运算与移位指令串操作指令控制转移指令处理器控制指令数据传送指令通用数据传送指令地址传送指令标志寄存器传送指令累加器专用传送指令PUSHA/PUSHAD(pushallregisters)所有寄存器进栈POPA/POPAD(popallregisters)所有寄存器出栈1、通用数据传送指令MOV(move)传送MOVSX(movewithsigh-extend)带符号扩展传送MOVZX(movewithzero-extend)带零扩展传送PUSH(pushontothestack)进栈POP(popfromthestack)出

2、栈XCHG(exchange)交换MOV传送指令格式:MOVDST,SRC操作:DST<--(SRC)即把源操作数的内容送入目的操作数说明:可以进行8位或16位或32位数据的传送源操作数可为立即数、寄存器、存储器操作数目的操作数可为寄存器、存储器操作数存储器段寄存器CSDSSSES立即数通用寄存器AXBXCXDXBPSPSIDI[例3-2-1]MOV指令示例1MOVEAX,[EBX+ECX*4];存储器操作数MOVAX,ARRAY[SI];传送到寄存器MOVAX,0B00H;立即数传送到寄存器MOVCL,10000000BMOVVALUE,100H;立即数传送到存储单元MOVES:[B

3、X],4BHMOV[BX],CX;寄存器内容传送到存储器MOV[BP][DI]V,AXMOVAL,BL;寄存器之间传送MOVBX,SI[例3-2-2]MOV指令示例2MOVAX,ARRAY[SI]设(DS)=3000H,(SI)=2000H,ARRAY=8000H物理地址30000H2000H+8000H3A000H3A000H45H0BH0B45HAXMOV指令注意事项:(1)两个操作数长度必须一致MOVAL,BX;不合法例外:源是立即数,小于目的操作数时,高位按符号位扩展MOVAX,0B4H执行后,(AX)=0FFB4H(2)不允许用立即数为段寄存器赋值例:MOVES,10A0H;

4、不合法(3)不允许两个操作数均是存储器操作数MOVX,Y;不合法可以通过一个寄存器传送:MOVAX,YMOVX,AX(4)不允许两个操作数均为段寄存器MOVES,DS;不合法MOVSX带符号扩展传送指令格式:MOVSXDST,SRC操作:DST<--符号扩展(SRC)MOVZX带零扩展传送指令格式:MOVSXDST,SRC操作:DST<--零扩展(SRC)说明:源操作数是8位或16位寄存器或存储器的内容目的操作数必须是16位或32位寄存器[例3-2-3]MOVSX指令示例MOVSXEAX,CL设(CL)=0ABH,执行后(EAX)=0FFFFFFABH负号扩展若(CL)=57H,执行后

5、(EAX)=00000057H正号扩展[例3-2-4]MOVZX指令示例MOVZXEAX,DATA设(DATA)=87ADH,执行后(EAX)=000087ADH0扩展PUSH压栈指令格式:PUSHSRC操作:16位指令:SP<--(SP)-2((SP)+1,(SP))<--(SRC)32位指令:ESP(ESP)-4((ESP)+3,(ESP)+2,(ESP)+1,(ESP))(SRC)说明:源操作数可以是寄存器或存储器操作数必须以字或双字为单位操作[例3-2-5]压栈指令示例PUSHAX执行前执行后AXAX25524FEH31524FFHSP52500HSP52500H3125H

6、3125H低地址低地址进栈方向POP出栈指令格式:POPDST操作:16位指令:DST<--((SP)+1,(SP))SP<--(SP)+232位指令:DST((ESP)+3,(ESP)+2,(ESP)+1,(ESP))(ESP)(ESP)+4[例3-2-6]出栈指令示例POPBX执行前执行后BXBX75C1SP6B51000H6B51000H481H481H9A2HSP9A2H283H283H486B出栈方向PUSHA/PUSHAD所有寄存器进栈格式:PUSHAPUSHADPUSHAD:(386及其后继机型)32位通用寄存器依次进栈,次序为:EAX,ECX,EDX,EBX,指令执

7、行前的ESP,EBP,ESI,EDI指令执行后ESP(ESP)-32仍指向栈顶PUSHA:(286及其后继机型)16位通用寄存器依次进栈,次序为:AX,CX,DX,BX,指令执行前的SP,BP,SI,DI指令执行后SP(SP)-16仍指向栈顶操作:[例3-2-7]PUSHAD指令示例(SDI)-32(ESI)-28(EBP)-24(ESP)原-20(EBX)-16(EDX)-12(ECX)-8(EAX)-40(ESP)原(ESP)执行前执行

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

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

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