读书人

请问32位保护模式下的地址有关问题

发布时间: 2012-03-13 11:21:12 作者: rapoo

请教32位保护模式下的地址问题
我们都知道在开启了分段与分页的保护机制后,每个地址是由段选择符与32位偏移量组成

那么如下形式的一条指令究竟是怎么赋值的,比如有个地址$addr
movl $addr,%eax

这里赋给eax的是??相对于当前ds选择符所指段基地址的偏移量吗?还是说其他?

[解决办法]
将符号addr的偏移地址放入eax中。

比如说你的addr定义在data段中:

.data
addr DWORD 0

我这个是intel汇编语法,at&t的类似。

假设addr在DS段的offset是0x20000,则将0x20000放入eax.
注意ds值并没有放入,这在实际寻址时再计算。

only 偏移地址

读书人网 >汇编语言

热点推荐