中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 01:16
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [讨论]ms-dos下能访问到32位物理地址吗? 查看 1,094 回复 1
楼 主 [讨论]ms-dos下能访问到32位物理地址吗? 发表于 2003-09-10 00:00 ·  中国 河南 郑州 联通
初级用户
积分 117
发帖 5
注册 2003-09-10 00:00
22年会员
UID 9664
性别 男
状态 离线
本人最近要编一个dos下的驱动,请问哪位可以告诉我在dos下怎样实现用汇编访问到32位的物理地址.
2 发表于 2003-09-12 00:00 ·  新加坡 星和视界(StarHub)宽带
初级用户
积分 169
发帖 29
注册 2003-07-09 00:00
23年会员
UID 6654
性别 男
状态 离线
一定要在保护模式下才能访问32位物理地址。
需要dpmi host,watcom c下是dos4g/w,现在也可以用dos32a和cwsdpmi,还有著名的pmode。然后就是flat mode内存访问,定义一个指针指向要访问的内存区域,最简单直接。
djgpp下用cwsdpmi和pmode,但不能直接用指针访问,需要用_far*系列函数访问。
bc下肯定也有自己的dpmi host,但我没有接触过,不太清楚。

在汇编下,我还是建议你算了吧,从dos的实模式下转到保护模式,然后访问指定的内存段,在汇编下的实现比较繁琐。
论坛跳转: