3--数据传送指令.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8086/8088指令系统是80X86/Pentium的基本指令集,指令操作数的宽度为8位或16位,偏移地址的宽度是16位。 8086/8088指令系统分成以下6组: 1)数据传送指令 。 2)算术运算指令 。 3)逻辑运算及移位指令 。 4)串处理指令 。 5)控制转移指令 。 6)处理器控制指令 。 在指令说明中所使用的各种符号: 1)SRC:源操作数; 2)DST:目的操作数; 3)REG:通用寄存器组。 16位 AX、BX、CX、DX、SP、BP、SI、DI 8位 AH、AL、BH、BL、CH、CL、DH、DL 4)SEGREG:除CS以外的段寄存器,即DS、SS、ES 5)MEM:各种寻址方式的存储器操作数; 6)IDATA:立即数; 一、数据传送指令 数 据 传 送 指 令 通用数据 传送指令 MOV DST ,SRC 传送指令 PUSH / POP 进栈 / 出栈指令 XCHG OPR1,OPR2 交换指令 XLAT 换码指令 输入输出 指令 IN ACC,PORT 长格式输入指令 IN ACC,DX 短格式输入指令 OUT PORT,ACC 长格式输出指令 OUT DX,ACC 短格式输出指令 地址传送 指令 LEA REG,MEM 有效地址传送指令 LDS REG,MEM 远地址指针传送指令 LES REG,MEM 标志寄存器 传送指令 LAHF 标志寄存器送AH指令 SAHF AH送标志寄存器指令 PUSHF / POPF 16位标志寄存器FLAGS进栈/出栈指令 通用数据传送指令 (1)MOV 传送指令 格式:MOV DST ,SRC 功能:(DST)←(SRC) 操作数类型: 见图 1)MOV传送指令的合法格式: MOV MEM , IDATA MOV REG , IDATA MOV SEGREG , REG MOV MEM , REG MOV REG , REG MOV REG , MEM MOV SEGREG , MEM MOV REG , SEGREG MOV MEM , SEGREG 2)对标志寄存器的影响:不影响任何标志。 3)说明: ① 几个不允许: 不允许用立即数作目的操作数。 不允许把立即数直接向段寄存器传送。 不允许在段寄存器之间直接传送数据。 不允许在两个存储器单元之间直接传送数据。 ② CS代码段寄存器: CS代码段寄存器不可以做目的操作数。 MOV指令不能用来改变CS和IP两寄存器的内容,这两个寄存器的内容只能通过使用控制转移指令来改变。 CS代码段寄存器可以做源操作数。 MOV REG,CS MOV MEM,CS ③ 源操作数和目的操作数的类型必须严格一致 源操作数和目的操作数必须同为字节或字。 PUSH / POP 进栈/出栈指令 ------------------------------------------------------------------------------------------------------- 堆栈是用于暂时寄存程序运行数据,并具有特殊操作的一种数据结构,堆栈结构所占据的最大数据区域称为堆栈区,见下图所示。 在内存中,堆栈所处的段区被称为堆栈段,堆栈段的段地址总是存放在堆栈段寄存器SS内。 存放第一个堆栈数据(即最低地址的堆栈数据)的字单元被称为栈顶。在8086/8088微处理器中,栈顶单元的偏移地址总是存放在寄存器SP中的,故SP被称为堆栈指针寄存器。 对于堆栈存储单元的访问,有以下两个特殊操作。 1.PUSH操作 格式:PUSH SRC 功能:针对堆栈数据区的入栈操作 (SP)←(SP)- 2 ((SP)+1:(SP))←(SRC) 操作数类型: PUSH REG(16位) PUSH MEM(16位) PUSH SEGREG (允许使用CS) 2.POP操作 格式:POP DST 功能:针对堆栈数据区的出栈操作 (DST)←((SP)+1:(SP)) (SP)←(SP)+ 2 操作数类型: POP REG (16位) POP MEM(16位) POP SEGREG (不允许使用CS) 对标志寄存器的影响:不影响任何标志。 说明: 1)PUSH和POP操作以字为单位,只能作字操作; 2)PUSH CS合法,但POP CS非法; XCH

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档