第3章 80868088的指令系统(通用数据传送指令).pptVIP

第3章 80868088的指令系统(通用数据传送指令).ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 80868088的指令系统(通用数据传送指令)

3.3 8086/8088的指令系统 指令系统概述 按照汇编指令功能划分,8086的指令可以分成六大类: 数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 控制转移指令 处理器控制指令 数据传送指令 表一 数据传送指令列表 通用数据传送指令 MOV 指令 ? 基本格式和功能 指令格式: MOV dest,src 其中 dest 表示目的操作数,src表示源操作数 执行的操作: (dest)?(src) 通用数据传送指令 MOV 指令 ? 数据传送通道 MOV指令的形式有如下几种: 1)从通用寄存器到通用寄存器 MOV reg1,reg2 2)立即数传送到通用寄存器 MOV reg ,data 3)通用寄存器和存储单元之间 MOV mem (reg),reg (mem) 4)立即数传送到存储单元 MOV mem, data 5)段寄存器与通用寄存器间的数据传送 MOV seg,reg 或 MOV reg, seg 6)段寄存器与存储单元间的数据传送 MOV seg,mem 或 MOV mem, seg 通用数据传送指令 MOV 指令 ? 一些说明 说明: 立即数不能直接传给段寄存器;段寄存器之间也不能进行直接传送。(这2种情况通常要通过通用寄存器间接进行) DEST和SRC两个操作数不能同时为存储器操作数;两个存储单元之间不能用一条MOV指令直接完成数据传送。存储器操作数可用任何一种存储器寻址方式。 DEST和SRC长度须相同,即同时为字或字节。 通用数据传送指令 MOV 指令 ? 一些说明 说明 立即数只能出现在源操作数位置,不能作DEST CS只能作源操作数,不能作目的操作数。 传送实质上是复制,对源操作数无影响。 16位数据的传送遵循地址“高对高,低对低”的原则。这个原则不仅对MOV指令适用,对所有的传送皆适用。 通用数据传送指令 MOV 指令 ? 例子 指令辩误: MOV AL,[CX] MOV AL, CX MOV [3000H], [BX] MOV AL, 1200H MOV CS, BX MOV DS, 1200H MOV ES, DS 通用数据传送指令 MOV 指令 ? 练习 题目1:已知当前BX=1200H,CS=1800H,IP=0500H,DS=3000H,则执行指令MOV [BX+2000H],12ABH 后,12ABH放在哪两个存储单元(物理地址)? 通用数据传送指令 MOV 指令 ? 练习 题目2:将DS段中2000H单元与3000H单元的内容互换,请写出指令序列。 解: 通用数据传送指令 已知数据段定义如下,写出该数据段在内存中的存储状况和指令执行后的结果 通用数据传送指令 PUSH 和 POP指令 ? 基本格式和功能 指令格式: PUSH SRC POP DEST 执行的操作: PUSH 压入。源操作数进栈至栈顶。“先减再压” (SP) ← (SP)-2 SS:((SP),(SP)+1) ← (SRC) POP 弹出。栈顶出栈到目的操作数。“先弹再加” (DEST) ← SS:((SP),(SP)+1)   (SP) ← (SP)+2 使用PUSH/POP指令应注意 PUSH和POP指令均为单操作数指令 堆栈的存取必须以字为单位 操作数不允许使用立即数 POP指令的操作数不能为CS寄存器 在程序中,PUSH和POP必须成对出现,以确保堆栈的完整性 通用数据传送指令 PUSH 和 POP指令 ? 关于堆栈 堆栈是一段特殊组织的内存区域,其内容的存取主要由堆栈指针控制,规则是:“先进后出”或者“后进先出”。 通用数据传送指令 PUSH 和 POP指令 ? 用途 堆栈常有两个用途:暂存和传送。 暂存: PUSH AX PUSH BX POP BX POP AX 传送: PUSH AX PUSH BX

文档评论(0)

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

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

1亿VIP精品文档

相关文档