网站大量收购独家精品文档,联系QQ:2885784924

x指令系统.ppt

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

第3章 80x86指令系统 本章重点: 8086/8088系列CPU的各种寻址方式。 8086/8088指令系统的各种常用指令。 本章难点: 8086/8088CPU系统的数据寻址方式。 8086/8088CPU系统的地址寻址方式。 8086/8088存储器寻址方式中有效地址EA的计算。 8086/8088指令系统中各种常用指令的使用方法,指令间的区别及其隐含约定。 汇编语言指令的特点 语法结构符合人类语言的共同特点 ——动作+对象 指令操作码→动作:做什么? 指令操作数→对象:针对什么做动作? 3 .1 8086/8088指令格式与编码 指令的书写格式 操作码 [[操作数1], [操作数2]] 操作码:必备;由CPU设计人员定义,具 有固定的写法和意义,指明要执行的操作 操作数:可以是1个、2个或没有,可以是 8位或16位;可由编程人员采用不同方式 给出。 8086/8088的指令书写格式 例: MOV AX,BX 3 .1 .2 单操作数、双操作数及多操作数 1.单操作数 在一条指令中仅指明一个操作数。 2.双操作数 在一条指令中同时指出两个操作数。 3.多操作数 在一条指令中,同时指出二个以上操作数。 4.无操作数 8086/8088 CPU的指令中最短的指令为一个字 节,称为单字节指令,这类指令只有操作码(1字 节)而无操作数或者隐含操作数。 3 .1 .3 8086/8088的操作数 8086/8088的操作数分为以下几类: 1.立即数 是指令中直接参与操作的常数。立即数只能作为源操作数使用 2. 寄存器操作数 1 指令中要操作的数据存放在8个通用寄存器或者 4个段寄存器中。 2 对于AX、BX、CX、DX可以当作8位寄存器使 用,存放字节操作数或者作为16位寄存器使用,存 放字操作数; 3 对于SI、DI、SP、BP,则只能存放字操作数; 4 对于CS、DS、ES和SS段寄存器用来存放当前操 作数的段基址 3. 存储器操作数 此类操作数存放在指定的存储单元中,若 为字节操作数,则占用1个字节存储单元;若 为字操作数,则占用2个字节存储单元;若为 双字操作数,则占用4个字节存储单元。 4. I/O端口操作数 指令中参与操作的数据来源于或者要传送 到I/O端口。 3.2 8086/8088 指令寻址方式 所谓寻址就是寻找操作数(数据寻址) 或者操作数地址(地址寻址)。寻找操作数 (包括数据和地址)有各种方法,这些方法称 为寻址方式。 2 、立即寻址 源操作数以8位或16位常数的形式直接出 现在指令中。一般用于赋值。 3 、 寄存器寻址 8位或16位寄存器的值就是操作数 本身。与其它寻址方式相比,由于操作 数存在于CPU中,指令执行时不需访存, 该方式执行速度较快。 对于某条具体指令,这三个地址分量可有 不同的组合。如果存在两个或两个以上的分 量,那么就需要进行加法运算,求出操作数 的有效地址 EA ,进而求出物理地址 PA 。 正是因为这三种地址分量有不同的组合,才 使得对存储器操作数的寻址产生了若干种不 同的方式。 直接寻址过程示意图 2.寄存器间接寻址 寄存器间接寻址过程示意图 3. 寄存器相对寻址 在寄存器间接寻址的前提下额外加 一个位移量。也称为寄存器加位移量寻 址。 例句:MOV AX,[BX+5] 或者 MOV AX,5[BX] 或者 MOV AX,[BX]5 例句: MOV AX,DAT[BX] 或者 MOV AX,[BX]DAT 或者 MOV AX,[BX+DAT] 寄存器相对寻址过程示意图 (变址相对寻址) 相对基址变址寻址过程示意图 2.寄存器间接寻址 寻址方式练习 MOV AX , 2000H MOV DS , AX MOV BX , 100H MOV AX , [150H] ADD BX , AX MOV AL , [BX] ADD AL , [BX+1] ADD AL , [BX+SI] MOV CL , [BX+SI+1] 已知 DS 2000H, SS 2001H, BX 100H, BP 0F3H, SI 2内存单元中的值如图所示,试给出下列指令执行后AX的值。 MOV AX , 1200H 立即数寻址方式, AX 1200H MOV AX , BX 寄存器寻址方式, AX BX 100H MOV AX , [BX] 寄存器间接寻址方式,EA 100H PA DS ×16+EA 20000H+100H 20100H AX 3412H MOV AX , 1[BX] 寄存器相对寻址方式,EA BX

文档评论(0)

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

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

1亿VIP精品文档

相关文档