1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6讲_1 5.4

5.4 数据传送指令 (7)LDS (load data segment register) 加载数据段寄存器 指令汇编格式: LDS dest,src 操作:(1)将双字长存储器操作数中的低地址字传送到指定的寄存器中。 dest←(EA) (2)将双字长存储器操作数中的高地址字传送到DS寄存器中。 DS←(EA+2) 受影响的状态标志位: 没有 说明: LDS是将src指出的连续两个字的内容,即一个32位的指针变量传送到一对16位的目标寄存器中。高位字为段地址,LDS指令将其传送到数据段寄存器DS中,低位字为偏移量,传送到由dest指出的一个通用寄存器中, 但不能是段寄存器。 LDS 指令举例 MOV BX,2080H LDS SI,[BX] MOV AL,[SI] (8)LES (load data segment register) 加载附加段寄存器 指令汇编格式: LES dest,src 操作:(1)将双字长存储器操作数中的低地址字传送到指定的寄存器中。 dest←(EA) (2)将双字长存储器操作数中的高地址字传送到ES寄存器中。 ES←(EA+2) 受影响的状态标志位: 没有 说明: LDS是将src指出的连续两个字的内容,即一个32位的指针变量传送到一对16位的目标寄存器中。高位字为段基地址,LDS指令将其传送到附加段寄存器ES中,低位字为偏移量,传送到由dest指出的一个通用寄存器中, 但不能是段寄存器。 重点掌握 MOV PUSH POP XCHG XLAT LEA * * 双操作数指令 指令助记符 目标操作数,源操作数 目的操作数与源操作数的数据类型必须一致 MOV AL,04 单操作数指令 PUSH AX POP AX 无操作数指令 HLT NOP 数据传送指令共有12条: MOV PUSH POP XCHG XLAT LEA LDS LES LAHF SAHF PUSHF POPF 2. PUSH(push word onto stack)进栈指令 指令汇编格式: PUSH src 操作:堆栈指针减 2 SP←SP-2 将给定的操作数存放到由SP指出的栈顶中。 (SP+1,SP)←(src) 受影响的状态标志位: 没有 说明: PUSH指令的目标地址一定在当前堆栈中。SS内容为段值,偏移量由堆栈指针SP指出。操作数一定是16位的寄存器或存储器操作数。 PUSH指令举例 假定AX=1234H,BX=5678H,SS=2000H,SP=0100H,则执行下列指令后堆栈的状态是: PUSH AX PUSH BX PUSH指令举例 3. POP(pop word off stack into destination)出栈指令 指令汇编格式: POP dest 操作:(1)将堆栈栈顶中存放的字传送到操作数中。 dest←(SP+1,SP) (2) 堆栈指针加2 SP←SP+2 受影响的状态标志位: 没有 说明:目标操作数只能是16位的存储器操作数或寄存器操作数(CS除外)。 POP指令举例 假定在执行指令:POP CX POP DX 之前,堆栈的状态如图所示。指令执行后, CX,DX的内容及堆栈的状态? (4)XCHG(eXCHanGe)交换指令 指令汇编格式: XCHG dest,src 操作: dest的内容与src的内容互换。  (dest)←→(src) 受影响的状态标志位: 没有 说明: dest和src可以是8位操作数,也可以是16位操作数,但同一条指令中,数据类型必须一致; dest和src不能同时为存储器操作数;段寄存器、IP寄存器、立即数不能作为操作数。 XCHG指令举例 XCHG AL,BL XCHG AL,DATA0_B XCHG CL,[BX] XCHG AX,AX XCHG [BX+SI+10],AX XCHG AL,SI XCHG [SI],[BX+10] XCHG DX,DS XCHG AL,10 XCHG指令举例 例:将数据段中偏移地址为2040H的存储

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档