微型计算机原理与接口技术第3章.ppt

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

根据指令内容确定操作数地址的过程,称为寻址。 根据寻址方式计算所得到的地址叫做有效地址EA,也就是段内偏移地址。有效地址还需要与相应的段基地址组合才是20位的物理地址PA ,该工作由CPU完成。 八、其他 I/O端口寻址 8086采用输入/输出端口与存储器独立编址的方式。访问I/O端口需要专门指令IN和OUT。 (1)直接寻址 在指令直接给出I/O端口地址,此地址应在0-255(0-FFH)之间 IN AL,20H (2)间接寻址 由DX给出I/O端口地址,此方式适用0-65535(0-FFFFH)之间的任意值。 OUT DX,AL 8086数据存储器寻址方式小结: 1、立即寻址,操作数直接放在指令中。 2、寄存器寻址(8个通用寄存器) 3、直接寻址,有效地址由指令直接给出, 有效地址只包含偏移量。 4、寄存器间接寻址和寄存器相对间接寻址 (4个寄存器,BX、BP、SI、DI,位移量) 5、基址变址寻址和相对基址变址寻址 (BX、BP,SI、DI,位移量) 3-2 指令的机器码表示方法 一、机器语言指令的编码目的和特点 机器指令:计算机能识别和执行的指令的 二进制代码。如:1011000001100010 汇编指令:用助记符表示机器指令的操作 码和操作数,例如上面指令的汇编指令是 MOV AL,62H 二、机器语言指令代码的编制 1、编码格式说明 8086的机器指令长度为1-6字节。 寻址方式编码 寻址方式字节中存放关于操作数类型和操作数寻址的信息。如前图分为3个域。操作码用来指示该指令的操作,一般一字节。如 PUSH AX 01010 000 1)mod域:即方式域,决定如何解释r/m域和位移量域。 2)reg域:寄存器域,指定一个寄存器操作数,也可作为额外的操作码位。 3)r/m域:当mod=11时,本域指示一个寄存器操作数,当mod≠11时,本域指出存储器操作数的有效地址计算方法。 位移量 指令编码中的位移量部分给出一个8位或16位的数用来进行有效地址计算。 16位位移量是低字节在前,高字节在后。 立即数 指令编码中的立即数部分给出一个8位或16位的立即数。 注意:16位数是低字节在前,高字节在后。 指令编码举例 例:MOV [BX+DI-6],CL 机器码: 11111010 =88H,49H,FAH 例:ADD AX,BX 机器码:00 00 00 1 1 11 00 0 0 11 操作码 D W 寻址 AX BX =03H,C3H 指令前缀 前缀是一条指令,当它执行时,并不导致处理器产生一个立即的动作,而只是指示处理器改变其后面指令的执行。 前缀一字节长,一条指令可有多个前缀。 1)重复前缀:REPcond(重复条件)与串指令结合使用,说明重复执行次数。 2)锁定前缀:LOCK在多处理器时使用。 段超越前缀 所有访问内存的指令都有一个隐含的段寄存器 来计算物理地址,段超越前缀可以改变默认的段 寄存器。 例3.20:MOV AX,ES:[13AAH];将ES段的13AAH和13ABH两个单元的内容装入到AX。 一、数据传送指令 共14条,分为4组 1 、通用传送指令 (1) MOV 目的,源 ① 源和目的操作数不能都是存储单元操作数 ② 目的操作数不能是立即数,也不能是CS寄存器 ③ 不允许两个段寄存器之间传送数据 ④ 立即数不能直接送段寄存器 ⑤ 不影响标志位 功能: (源) (目的) 例1:MOV AX,10ACH;10ACH (AX) (2) PUSH 源 ;压栈 (SP)-2 (SP),(源) ((SP+1),(SP)) (3) POP 目的 ;弹栈 ((SP+1),(SP)) (目的),(SP+2) (SP) ① 以上2条指令只能对字操作 ② 不能POP CS 下面举例: 例 PUSH BX CS=1000H,IP=0030H,SS=2000H, SP=0040H,BX=2340H (4)XCHG 目的,源 该指令将源和目的的值互换 ① 两个操作数必须有一个在寄存器中,可以是字节或字 ②可以在寄存器之间或寄存器和存储器之间交换数据 ③ 不允许使用段寄存器 例7:XCHG BX,[BP+SI] 若

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档