您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 一级辅导 >> 正文    
  相对基址加变址寻址方式 【注册男护士专用博客】          

相对基址加变址寻址方式

www.nanhushi.com     佚名   不详 

  操作数在存储器中,其有效地址是一个基址寄存器(BX、BP)的值、一个变址寄存器(SI、DI)的值和指令中的8位/16位偏移量之和。  

  在不使用段超越前缀的情况下,规定:如果有效地址中含有BP,则其缺省的段寄存器为SS;否则,其缺省的段寄存器为DS。 

  指令中给出的8位/16位偏移量用补码表示。在计算有效地址时,如果偏移量是8位,则进行符号扩展成16位。当所得的有效地址超过0FFFFH,则取其64K的模。 

  例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。
 
  从相对基址加变址这种寻址方式来看,由于它的可变因素较多,看起来就显得复杂些,但正因为其可变因素多,它的灵活性也就很高。比如: 
 
  用D1[i]来访问一维数组D1的第i个元素,它的寻址有一个自由度,用D2[i][j]来访问二维数组D2的第i行、第j列的元素,其寻址有二个自由度。多一个可变的量,其寻址方式的灵活度也就相应提高了。 

  相对基址加变址寻址方式有多种等价的书写方式,下面的书写格式都是正确的,并且其寻址含义也是一致的。 
  MOV AX, [BX+SI+1000H]   MOV AX, 1000H[BX+SI] 
  MOV AX, 1000H[BX][SI]    MOV AX, 1000H[SI][BX] 

  但书写格式BX [1000+SI]和SI[1000H+BX]等是错误的,即所用寄存器不能在“[“,”]”之外,该限制对寄存器相对寻址方式的书写也同样起作用。 

  相对基址加变址寻址方式是以上7种寻址方式中最复杂的一种寻址方式,它可变形为其它类型的存储器寻址方式。表3.1列举出该寻址方式与其它寻址方式之间的变形关系。 

  源操作数指令的变形源操作数的寻址方式 

  只有偏移量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]相对基址加变址寻址方式

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    2011年护士资格考试:考…
    2009年初级护士资格考试…
    2009年主管护师考试于12…
    2009年初级护士考试于12…
    2009年初级护师考试于12…
    石家庄市关于2009年度护…
    2009年护士专业技术资格…
    医护技能考试周末举行 4…
    护士“托福”今年7月开考
    护士“托福”考试开始报…
    专 题 栏 目