编程论坛
注册
登录
编程论坛
→
汇编论坛
为什么用偏移就可以寻址数据val1啊?
小贝01
发布于 2013-04-25 08:36, 835 次点击
.data
val1 byte 10h
.code
mov esi,offset val1
mov al,[esi]
esi中存放的是数据val1的偏移,为什么用偏移就可以寻址数据val1啊?为什么不用物理地址啊?esi中的偏移地址跟物理地址是什么关系?
6 回复
#2
小贝01
2013-04-25 15:58
请高手指点!
#3
hu9jj
2013-04-25 21:52
将esi中存放的是数据val1的内存地址就容易理解了。
#4
zklhp
2013-04-26 12:20
理解几个概念
物理地址 在实际内存中的地址 在32位保护模式并且开启了页表后 物理地址到逻辑地址是经过两次转换得到的
偏移 这个难以界定 可以理解为一个段中相对段基址的差值 笼统的说就是地址
逻辑地址 这里你用的其实是个逻辑地址 需要经过转换才能变成你说的物理地址
你写的是32位代码 和16位代码很不一样的。。
#5
zklhp
2013-04-26 12:20
建议楼主多看书 还有就是 初学尽量先学会用法 再学习概念 感觉这样要快一点
祝楼主学习顺利
#6
向阳花开
2013-06-01 11:15
你看看寄存器寻址方式就明白了
#7
a983126334
2013-07-17 09:38
回复,拿分,下载
1