三级PC技术寻址方式的复习(4)

三级PC技术寻址方式的复习(4),第1张

三级PC技术寻址方式的复习(4),第2张

三级PC技术寻址方式综述(4)

到目前为止,我们已经回顾了三种寻址方法:寄存器寻址、立即寻址和直接寻址。前三种寻址方式相对容易理解和掌握,后四种寻址方式的操作数存储在内存中,汇编格式相似,容易混淆。在学习中,我们要牢牢抓住这四种寻址方式中操作数都存储在内存中的特点,而要访问内存中存储操作数的存储单元,就需要知道内存中存储单元的偏移地址(EA)。寻址方式的重要区别是获取EA的方式不同。只要掌握了如何计算这四种寻址方式得到的内存操作数的偏移地址,问题就迎刃而解了。

4.寄存器间接寻址

寄存器间接寻址得到的操作数存放在内存中,操作数的偏移地址EA在指令指示的寄存器中,即寄存器的内容是操作数的偏移地址EA。

汇编格式:[r] r(寄存器的缩写,只能是SI、DI、BX、BP之一)

函数:R的内容是操作数的偏移地址EA。也就是说,操作数的有效EA存储在基址寄存器(BX或BP)或变址寄存器(DI或SI):

当R用作间接寻址寄存器时,EA= [R]。

间接寄存器寻址的寻址方式如图所示:

如果寄存器SI、DI和BX用于间接寻址,则操作数在当前数据段中。

PA=(DS)×10H+EA

如果寄存器BP用于间接寻址,则操作数在当前堆栈段中。

PA=(SS)×10H+EA

与汇编格式相比,间接寄存器寻址和寄存器寻址有更多的括号,这也是它们寻址方式完全不同的原因。寄存器寻址不需要访问存储器,操作数在指令指定的寄存器中,而间接寄存器寻址需要访问存储器,操作数的偏移地址EA就是寄存器的内容。

例:2002年8月初三计算机试题

根据下面的指令和伪指令序列,AX寄存器的内容是什么?

标签图纸1、2、3、4、5、6

入境EQU 3

MOV·BX,偏移选项卡

添加BX,条目

MOV斧,字PTR [BX]

(A)0300h(B)0003h(C)0506h(D)0403h

答:答

内存分配图:

解析:根据数据定义伪指令BUF DW 1,2,3,4,画出内存分配示意图,在存储单元对应位置标注变量名和EA。Offset获取变量选项卡的EA。这个TAB变量的EA为0,那么MOV·BX,偏移量TAB,这个指令的源操作数,立即被寻址,并且(BX)=0。ENTRY是一个符号常量,指令的源操作数ENTRY加BX,ENTRY也立即寻址(BX)+3→BX,(BX)=3。在MOV AX,字PTR [BX]指令中,源操作数[BX]是寄存器的间接地址,前面的字PTR表示内存操作数是字类型。指令执行后,偏移地址为3的字单元的内容被传输到AX。所以答案是a。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 三级PC技术寻址方式的复习(4)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情