第3章+实方式指令寻址与指令系统.ppt

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

第3章 操作数的寻址方式 3.7 相对基址加变址寻址方式 操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。 其有效地址的计算公式如下: 在不使用段超越前缀的情况下,有下列规定: 若有效地址用SI、DI和BX等之一来指定,则其缺省的段寄存器为DS; 若有效地址用BP来指定,则其缺省的段寄存器为SS(即:堆栈段)。 第3章 操作数的寻址方式 例3.5 假设指令:MOV AX, [BX+SI+200H],在执行时,(DS)=1000H,(BX)= 2100H,(SI)=0010H,内存单元12310H的内容为1234H。问指令执行后,AX的值是什么? 解:根据相对基址加变址寻址方式的规则,本指令中源操作数的有效地址EA为: EA=(BX)+(SI)+200H=2100H+0010H+200H=2310H 该操作数的物理地址应由DS和EA的值形成,即: PA=(DS)*16+EA=1000H*16+2310H=12310H 该指令的执行效果是:把从物理地址为12310H开始的一个字的值传送给AX。 第3章 操作数的寻址方式 相对基址加变址寻址方式有多种等价的书写方式,书写格式: [BX+SI+1000H]、1000H[BX+SI]、1000H[BX][SI]和1000H[SI][BX]等格式都是正确的,并且其寻址含义也是一致的, 但格式:BX[1000H+SI]、SI[1000H+BX]等是错误的,即所用寄存器不能在”[“,”]”之外,该限制对寄存器相对寻址方式的书写也同样起作用。 第3章 操作数的寻址方式 相对基址加变址寻址方式与其它寻址方式之间的变形关系 源操作数 指令的变形 源操作数的寻址方式 只有一个偏移量 MOV AX, [100H] 直接寻址方式 只有一个寄存器 MOV AX, [BX] 或 MOV AX, [SI] 寄存器间接寻址方式 有一个寄存器和偏移量 MOV AX, [BX+100H] 或 MOV AX, [SI+100H] 寄存器相对寻址方式 有二个寄存器 MOV AX, [BX+SI] 基址加变址寻址方式 有二个寄存器和常数项 MOV AX, [BX+SI+100H] 相对基址加变址寻址方式 第3章 操作数的寻址方式 3.8 32位地址的寻址方式 在32位微机系统中,除了支持前面的七种寻址方式外,又提供了一种更灵活、方便,但也更复杂的内存寻址方式。 用16位寄存器来访问存储单元时,只能使用基地址和变址寄存器来作为地址偏移量的一部分,但在用32位寄存器寻址时,不存在上述限制,所有32位寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP)都可以是地址偏移量的一个组成部分。 当用32位地址偏移量进行寻址时,内存地址的偏移量可分为三部分:一个32位基址寄存器,一个可乘1、2、4或8的32位变址寄存器,一个8位/32位的偏移常量,并且这三部分还可进行任意组合,省去其中之一或之二。 基址寄存器是:EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP; 变址寄存器是:EAX、EBX、ECX、EDX、ESI、EDI和EBP(除ESP之外)。 移位指令 移位指令包括算术移位指令、逻辑移位指令和循环移位指令,分别进行左移和右移操作。这些指令均有统一的语句格式: SAL/SHL OPD, OPS ;左移 SAR OPD, OPS ;算术右移 SHR OPD, OPS ;逻辑右移 其中,OPD是8/16/32位的R/M;OPS是计数值(即移位次数),有三种情形:OPS即可是8位的立即数或CL的内容(移位前次数-CL)。 其功能为将目的操作数的所有位按操作符规定的方式移动1位或按寄存器CL规定的次数(0~255)移动,结果送入目的地址。目的操作数是8位(或16位)的寄存器数据或存储器数据。 语句格式:SAL OPD,1 或SHL OPD,1 SAL OPD,CL或SHL OPD,CL 功能:将(OPD)向左移动CL指定的次数,最低位补入相应的0,CF的内容为最后移入位的值。 1.算术左移和逻辑左移指令SAL(SHL) 语句格式:SAR OPD,1或SAR OPD,CL CF功能:将(OPD)向右移动CL指定的次数且最高位保持不变;CF的内容为最后移入位的值。 2.算术右移指令SAR MOV BH,0F4H ;(BH)=0F4H MOV CL, 2 ;(CL)=2 SAR BH, CL ;(BH)=0FDH,(CF)=0 该例语句“SAR BH,C

文档评论(0)

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

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

1亿VIP精品文档

相关文档