主题:[讨论]求助关于寻址的问题
candyqiu
[专家分:0] 发布于 2006-10-15 18:52:00
这是我们汇编课本中的一个课后题
说是给定
(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?
(1)立即寻址
(2)直接寻址
(3)使用BX的寄存器寻址
(4)使用BX的间接寻址
请问这个题目到底要问什么啊,我实在是不太明白
如果是立即寻址的话,操作数是什么啊?
汇编真的是好难啊。。。。
请大家帮帮小弟
回复列表 (共8个回复)
沙发
fanjw510 [专家分:110] 发布于 2006-10-15 21:48:00
(1)立即寻址
对于立即寻址方式,常用于给寄存器赋初值,这里立即寻址其操作数应为637DH。这有这里应该没有效地址。
(2)直接寻址
这里给出位移量D=7237H,因此偏移地址即有效地址EA=7237H。
(3)使用BX的寄存器寻址
在寄存器寻址方式中,操作数包含于CPU的内部寄存器之中。因此无有效地址。
(4)使用BX的间接寻址
1。在寄存器间接寻址方式中,这是一种基址加变址来定位操作数地址的方式,也就是说,操作数的有效地址是一个基址寄存器(BP或BX)和一个变址寄存器(SI或DI)的内容之和。因此这里的有效地址EA=2A9BH
板凳
candyqiu [专家分:0] 发布于 2006-10-18 12:03:00
[quote]
(4)使用BX的间接寻址
1。在寄存器间接寻址方式中,这是一种基址加变址来定位操作数地址的方式,也就是说,操作数的有效地址是一个基址寄存器(BP或BX)和一个变址寄存器(SI或DI)的内容之和。因此这里的有效地址EA=2A9BH
[/quote]
前面几个看了您的解释,我都明白了
这第4个,不是说,操作数的有效地址是一个基址寄存器(BP或BX)和一个变址寄存器(SI或DI),那这里的有效地址不应该是BX+SI吗,为什么等于SI呢?
3 楼
fanjw510 [专家分:110] 发布于 2006-10-19 08:25:00
sorry!
对于第4个,是寄存器间接寻址方式,[color=FF0000][b]操作数的有效地址由变址寄存器SI、DI或基址寄存器BX、BP提供,这里应该是由BX提供操作数的有效地址,所以有效地址EA=637DH![/b][/color]
我以上的分析错误的!
4 楼
candyqiu [专家分:0] 发布于 2006-10-20 16:29:00
[quote]
sorry!
对于第4个,是寄存器间接寻址方式,[color=FF0000][b]操作数的有效地址由变址寄存器SI、DI或基址寄存器BX、BP提供,这里应该是由BX提供操作数的有效地址,所以有效地址EA=637DH![/b][/color]
我以上的分析错误的![/quote]
更糊涂了。。。。
既然
[color=FF0000]操作数的有效地址由变址寄存器SI、DI或基址寄存器BX、BP提供[/color]
那为什么一定要是由BX提供,而不可以有SI提供呢?
这个也有优先级的问题吗?
5 楼
书剑一心 [专家分:330] 发布于 2006-10-23 21:51:00
我觉得bx间接寻址,就是说寻的是bx中(及637DH)内存地址的值,因为题目问的是BX间接寻址,又没有说要加变址.所以可以不考虑si.
6 楼
fanjw510 [专家分:110] 发布于 2006-10-24 15:47:00
对啊,因为题目已经明确由使用BX寄存器间接寻址!所以操作数的有效地址由BX寄存器提供。
7 楼
candyqiu [专家分:0] 发布于 2006-10-25 13:10:00
谢谢大家,我知道了
8 楼
candyqiu [专家分:0] 发布于 2006-11-05 12:37:00
看来还是应该重视课本的基础知识阿
我来回复