NASM 汇编保护模式下的寻址

折腾了一个下午,终于找到了办法。

首先要理解的是保护模式下的寻址方式,是段基址:偏移,一般情况会先把段基址载入基址寄存器。

其次是,当你在实模式转入保护模式时,为了方便起见,我们的第一个代码段是从 0开始。

 

这样一来,保护模式下的 偏移地址 = 段基址*10h  + 实模式下变量的偏移

例如

_szTest    db    ‘T’

szTest   equ   _szTest + BaseOfLoaderPhyAddr

 

在保护模式下读出 szTest 就可以 mov ax, [szTest] 这样了。

此条目发表在WriteOS, 系统, 编程分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注