微机第4_1章.ppt

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

④ 基址变址寻址方式(Based Indexed Addressing)。基址变址寻址方式的操作数有效地址是一个基址寄存器(BX或BP)和一个变址寄存器(SI或DI)的内容之和,所以有效地址由两种分量组成。即 *含BP时默认段为SS 在一般情况下,由基址寄存器决定操作数在哪个段中。若用BX的内容作为基地址,则操作数在数据段中;若用BP的内容作为基地址,则操作数在堆栈段SS中。基址变址寻址方式同样也允许段超越。例如: MOV [BX+DI],AX MOV AH,[BP][SI] 设DS=3000H,SS=4000H,BX=1000H,DI=1100H,AX=0050H,BP=2000H,SI=1200H,则指令的执行情况如图4.7所示。执行结果为:(32100H)=0050H,AH=56H。 图4.7 基址变址寻址方式的指令执行情况 等效书写方式: MOV AX,[BP+SI] MOV AX,[BP][SI] ⑤ 基址变址相对寻址方式(Based Indexed Relative Addressing)。基址变址相对寻址方式的操作数有效地址是一个基址寄存器内容、一个变址寄存器内容和位移量之和,所以有效地址由三个分量组成。即 *含BP时默认段为SS * 第4章 80x86指令系统 第4章 80x86指令系统 4.1 8086/8088指令系统 4.2 80x86/Pentium指令系统 4.1 8086/8088指令系统 4.1.1 8086/8088指令格式 用汇编语言编写的汇编语言程序输入计算机后,必须由“汇编程序”将它翻译成由机器指令(指令码)组成的机器语言程序,才能由计算机识别并执行。因此汇编语言程序需由汇编程序翻译成可执行的机器语言程序,一般来说,这一过程不必由人来干预。我们这里只介绍一下基本原理,以便在必要时也可以手工完成类似的工作。 8086/8088指令系统的指令类型较多,功能很强。各种指令由于功能不同,需要指令码提供的信息也不同。为了满足不同功能的要求又要尽量减少指令所占的空间,8086/8088指令系统采用了一种灵活的、由1~6个字节组成的变字长的指令格式,包括操作码、寻址方式以及操作数三个部分,如图4.1所示。 通常指令的第一字节为操作码字节(OPCODE),规定指令的操作类型;第二字节为寻址方式字节(MOD),规定操作数的寻址方式;接着以后的3~6字节依据指令的不同而取舍,可变字长的指令主要体现在这里,一般由它指出存储器操作数地址的位移量或立即数。 图4.1 8086/8088不同字长的指令码格式 操作码/寻址方式字节格式如下: 第一字节中,W指示操作数类型:W=0为字节,W=1为字;D指示操作数的传送方向:D=0表示寄存器操作数为源操作数,D=1表示寄存器操作数为目的操作数。 第二字节指出所用的两个操作数存放的位置,以及存储器中操作数偏移地址的计算方法。其中: REG字段规定一个寄存器操作数,它作为源操作数还是目的操作数已由第一字节中的D位规定。由REG字段选择寄存器的具体规定如表4.1所示。 表4.1 REG字段编码表 BH DI 111 DH SI 110 CH BP 101 AH SP 100 BL BX 011 DL DX 010 CL CX 001 AL AX 000 W=0(字节操作) W=1(字操作) REG MOD字段用来区分另一个操作数在寄存器中(寄存器寻址)还是在存储器中(存储器寻址),在存储器寻址的情况下,还用来指出该字节后面有无位移量,有多少位位移量。MOD字段的编码如表4.2所示。 表4.2 MOD字段编码表 寄存器寻址,没有位移量 11 存储器寻址,有16位位移 10 存储器寻址,有8位位移 01 存储器寻址,没有位移量 00 寻址方式 MOD R/M字段受MOD字段控制。MOD=11为寄存器方式,R/M字段将指出第二操作数所在的寄存器编号;MOD=00,01,10为存储器方式,R/M则指出如何计算存储器中操作数的偏移地址。MOD与R/M字段组合的寻址方式见表4.3。 表4.3 MOD与R/M字段组合的寻址方式 例4.1 MOV AH,[BX+DI+50H] 代码格式: 001 100 01 0 1 100010 OPCODE D W MOD REG R/M

文档评论(0)

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

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

1亿VIP精品文档

相关文档