鱼C论坛

 找回密码
 立即注册
查看: 1862|回复: 10

关于寻址方式的疑惑

[复制链接]
发表于 2013-8-9 21:55:29 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 bu_gui 于 2013-8-9 21:57 编辑

我想问下,在有的书中有mov ax,[bx+ax*4+2]类似的语句,这种寻址方式如何解释啊!

最佳答案

查看完整内容

带比例因子的寻址方式。 在8086汇编下是没有的,80X86增加的寻址方式。 16位 ,一个基址寄存器,一个变址寄存器,一个偏移量。这两个寄存器都是16位的,不能是8位。 32位 [ebx + edi*1 + 2] ,显然其中的1可以省略不写,它是比例因子,可以是1,2,4,8,······`. 这两个寄存器都是32位的,不能是16位。 假如你有一个数组,每个元素为8字节。 [ebx + edi*8 + 2] edi ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-9 21:55:30 | 显示全部楼层
带比例因子的寻址方式。
在8086汇编下是没有的,80X86增加的寻址方式。
16位   [bx+di+2]  ,一个基址寄存器,一个变址寄存器,一个偏移量。这两个寄存器都是16位的,不能是8位。

32位   [ebx + edi*1 + 2]  ,显然其中的1可以省略不写,它是比例因子,可以是1,2,4,8,······`.
                                         这两个寄存器都是32位的,不能是16位。
假如你有一个数组,每个元素为8字节。
[ebx + edi*8 + 2]
edi 增加1,[ebx + edi*8 + 2] 就会指向下一个元素的第2个字节(有个偏移量2)

再看,
先add dei,8
[ebx+edi+2] 同样会指向下一个元素的第2个字节
我想这不是数学公式的简变换,而是新增的硬件上支持的为更方便,更具执行效率的做法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 03:33:14 | 显示全部楼层
哪里写的?我目前学到第十章没有看到这种寻址方式,而且把这条寻址方式写入编译器,编译的时候会报错。
你是不是看错了呢,还是书写错了,还是我还是一个菜鸟:sweat:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 10:27:03 | 显示全部楼层
这类似于c语言的数组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 10:56:07 | 显示全部楼层
bx里边的值+ax里边的值*4 然后+2 最终的值做为偏移地址。段加偏移寻到物理地址里边的值(由于是ax所以是一个字两个字节给了  ax)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 10:59:45 | 显示全部楼层
就是 把段地址(默认应该是DS)的值*16(H)+(bx+ax*4+2) 所得到的值 这个内存单元里的值赋值给ax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 15:04:14 | 显示全部楼层
很简单呀,不知道bx是几,估计应该是0吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-11 11:07:53 | 显示全部楼层
[ ]中的内容其实非常容易理解,无非就是把数据段ds对对应的[ ]中的便宜地址中的数据,存放到ax中

但是为什么这么设计呢,个人理解,可能是为了硬件上的便利~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-22 23:01:57 | 显示全部楼层
朋友请参阅~~~~{:7_148:}8086汇编语言七种寻址方式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-24 11:51:34 | 显示全部楼层
.....................
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-24 18:11:55 | 显示全部楼层
只为升级,,不用理我:loveliness::loveliness::loveliness:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表