第3章 数据定义与数据传送(教学).ppt

  1. 1、本文档共142页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 如:PUSH BX PUSH CS ;CS的内容可以入栈 PUSH BATA PUSH ALFA[BX][SI] PUSH EAX ;32位,ESP-4 注意:入栈操作是由高地址向低地址扩展,SP逐渐减小。且SP总是指向栈顶(最后入栈的数据的地址)。 3.4 数据的传送 * 第3章 数据定义与数据传送 * POP 出栈操作 格式:POP DST ;W/DW 功能:将SP所指的栈顶字单元的内容弹出,送入DST指定的寄存器或字存储单元中。 操作:DSTH——(SP),SP——SP+1 DSTL——(SP),SP——SP+1 或 (DST)——(SP) SP——SP+2 说明:DST为16/32位操作数,可为R或M。 不允许POP CS,也不可能是立即数。 注意 3.4 数据的传送 * 第3章 数据定义与数据传送 * [例] POP BX 执行过程如下图所示: 3.4 数据的传送 * 第3章 数据定义与数据传送 * 又如: POP SP POP SS POP DI POP CS:[BX][DI] 堆栈操作指令执行结果不影响标志位。堆栈操作主要是在子程序和中断服务程序中,用于保护现场和断点。 3.4 数据的传送 * 第3章 数据定义与数据传送 * PUSHA/PUSHAD 所有寄存器进栈指令* POPA/POPAD 所有寄存器出栈指令* 顺序:AX,CX,DX,BX,SP,BP,SI,DI。 或者: EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI。 3.4 数据的传送 * 第3章 数据定义与数据传送 * PUSHF/PUSHFD(PUSH the Flags or eflags) 标志进栈 POPF/POPFD(POP the Flags or eflags) 标志出栈 PUSHF和POPF指令一般用于在子程序和中断处理程序的首尾,起到保护和恢复主程序中运行结果的标志的作用。 3.4 数据的传送 * 第3章 数据定义与数据传送 * [例] 8086/8088指令系统中没有能直接改变TF标志位的指令,若要设置TF=1,需有以下的程序段: PUSHF ;标志入栈 POP AX ;弹出到AX OR AH,01H ;将D8位置1,其余不变 PUSH AX ;AX入栈 POPF ;标志出栈,使TF=1 : 思考:1)如何设置TF=0。 2)数据传送指令中,哪些影响标志位?哪些不影响标志位? 3.4 数据的传送 * 第3章 数据定义与数据传送 * 3. 其他传送指令 1) LEA(Load Effective Address, 装载有效地址)指令 格式:LEA REG16, MEM 功能:把源操作数的偏移地址装入目的操作数。 REG16表示一个16b通用寄存器; MEM是一个存储器操作数。 LEA SI, X LEA BX, 4[EBP*2][EAX] 3.4 数据的传送 * 第3章 数据定义与数据传送 * 2)?*地址传送指令LDS,LES,LFS,LGS 格式:LDS REG16, MEM32 功能:从存储器取出4B,送入REG16和DS 。 [例] 指令LDS SI, [BX] 从DS: [BX]处取出32位二进制,两个低地址字节送入SI,两个高地址字节送入DS寄存器。指令执行后DS寄存器的内容被刷新。 不影响标志位,LFS和LGS指令是80386开始增加的。 3.4 数据的传送 * 第3章 数据定义与数据传送 * 3)?扩展传送指令MOVSX, MOVZX 不影响标志位 MOVSX 带符号扩展传送指令 MOVZX 带零扩展传送指令 例如: MOVSX EAX,CL MOVSX EDX,[EDI] MOVZX DX,AL MOVZX EAX,DATA 3.4 数据的传送 * 第3章 数据定义与数据传送 * 4)?扩展指令CBW,CWD,CWDE,CDQ 不影响标志位 CBW ;将AL寄存器内容符号扩展成16b,送入AX CWD ;将AX寄存器内容符号扩展成32b, 送入DX和AX CWDE ;将AX寄存器内容符号扩展成32b,送入EAX CDQ ;将EAX寄存器

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档