第四章-寻址方式2014.ppt

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

* 苗清影 qymiao@sjtu.edu.cn 80X86微处理器的指令系统 概念介绍 指令系统 计算机所能执行的命令的集合。 包括操作码,操作数。 操作码 计算机完成何种操作。 操作数 参加操作的对象或其所在的地址。 机器指令 由二进制表示,计算机能识别的代码。 汇编指令 用助记符表示,能看懂的代码。 计算机中指令由操作码字段和操作数字段两部分组成 一条可以由1~7个字节组成 操作码字段:指示计算机要执行的操作 操作数字段:指出在指令执行操作过程中所需要的操作数 可以是操作数本身 可以是操作数地址或是地址的一部分 可以是指向操作数地址的指针或其他有关操作数的信息 指令组成 操作码字段: 在机器里只需对某种操作指定确定的二进制代码。 通常用指令的第一个字节表示,不够可以占第二个字节中的3位。 操作数字段: 操作数字段可以有一个,二个或三个地址指令。 例: INC CX ADD AX , BX 指令格式 操作数的存放不外乎三种情况: 操作数包含在指令中,即指令的操作数字段包含操作数本身。这种操作数为立即数。例:MOV AL, 08H 操作数包含在CPU的一个内部寄存器中,例:INC CX 指令中的操作数字段是CPU内部寄存器的一个编码。 这种寻址方式称为寄存器寻址。 操作数存放 操作数在内存数据区 操作数在内存数据区,操作数字段包含着此操作数地址。 在8086中,任何内存地址是由两部分组成: 段的基地址:单元所在段的基地址 (大部分情况是数据段寄存器DS中) 段内偏移量:此单元与段基地址的距离。 有效地址EA:段内偏移量为适应各种数据结构的需要,可以有几个部分组成,也把它称为有效地址EA。 操作数存放 寻址方式:如何寻找内存操作数。 寻址方式不同EA的构成不同。 归纳EA可有多种情况构成: 直接寻址,寄存器间接寻址,寄存器相对寻址, 基址加变址寻址,相对基址加变址寻址。 不同寻址方式实质上是构成它段内的偏移量的方法不同。 操作数存放 立即寻址 寄存器寻址方式 直接寻址 寄存器间接寻址方式 寄存器相对寻址方式或变址寻址 基址加变址寻址方式 相对基址加变址寻址方式 寻址方式 立即数: 操作数直接存放在指令中,紧跟在操作码之后,作为 指令的一部分,存放在代码段里。立即数可以是8位 或16位的。16位的立即数是高位字节放在高地址,低位 字节放在低地址。 使用场合:经常用于给寄存器赋初值。 注意:只能用于源操作数字段,不能用于目的操作数字段。 立即寻址 例:MOV AL,05H 指令执行后:(AL)=05H 例:MOV AX,3064H 指令执行后:(AX)=3064H 立即寻址 操作数在寄存器中,指令指定寄存器号。 对于16位操作数,寄存器可以是: AX,BX,CX,DX,SI,DI ,SP,BP 以及段寄存器。 对于8位操作数,寄存器可以是: AL,AH,BL,BH,CL,CH,DL,DH。 这种寻址方式因为操作数在寄存器中,不需要访问存储器的运算速度较高。 寄存器寻址 指令执行前:(AX)=3064H (SS)=1234H MOV SS,AX 寄存器寻址 指令执行后: (SS)=3064H (AX)保持不变 操作数地址的16位偏移量,直接包含在指令中。 操作数一般存放在数据段中, 必须先求出操作数的物理地址, 然后再访问存储器才能取得操作数。 物理地址 : PA=16d×(DS)+EA IBMPC机允许数据存放在数据段以外的其它段中。此时应在指令中指定段跨越(可以是CS,SS,ES)。 直接寻址 MOV AX,[3100H] (DS)=6000H , (63100H)=3050H 则: (AX)=3050H 又如:用符号地址代替数值地址。 MOV AX,VALUE 或 MOV AX,[VALUE] VALUE:有效操作数单元的符号地址。 如:VALUE在附加段中,应指定段跨越。 MOV AX,ES:VALUE 或 MOV AX,ES:[VALUE] 直接寻址 操作数在存储器中,操作数地址的16位偏移量包含在: BP、BX、SI、DI寄存器中。 若选择SI、DI、BX作为间接寻址,操作数一般在现行数据段区域中,用(DS)作为段地址。 操作数物理地址为: 物理地址PA=16 d ×(DS)+(BX) 物理地址PA=16 d ×(DS)+(SI) 物理地址PA=16 d ×(DS)+(DI) 寄存器间接寻址 例:MOV BX,[DI] (DS)= 6000H

文档评论(0)

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

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

1亿VIP精品文档

相关文档