看来我有必要补充一下基本概念,请大虾们回答一下

idoloveyou 2004-10-19 08:39:28
1.高版本DOS是运行在保护模式下还是实模式下?
如果是实模式,为什么可以访问1MB以上的内存;如果是保护模式,为什么说DOS下可以调用任何特权指令?保护模式不应该有Ring0~Ring3的区别吗?

2.在DOS中,如果想调用特权指令,是不是只要用.386p开头就可以?用不用调用什么特殊的中断来进入Ring0?
...全文
100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
firstrose 2004-10-21
  • 打赏
  • 举报
回复
dos是实模式。
加载emm386后是保护模式
加载himem实际也是保护模式。
你可以访问>1m是因为himem。另外还有个比较特殊的HMA。你可以查下资料。

有的特权指令在dos下不能用。具体参见intel 386指令手册
Areslee 2004-10-20
  • 打赏
  • 举报
回复
加上.386p之类的东西不过是让编译器编译386指令罢了,实际没有其他意义
ui_ppoppopp 2004-10-19
  • 打赏
  • 举报
回复
错了,BIOS在INT 19之前会把模式弄成实模式,所以DOS,如果没有加载任何附加的东西,是实模式
ui_ppoppopp 2004-10-19
  • 打赏
  • 举报
回复
DOS,不管什么版本,环境都是保护模式

保护模式有很多种,DOS是没有特权级的那种

保护模式是80386之后的CPU才有的。

所以 .386p就很必要了。
Areslee 2004-10-19
  • 打赏
  • 举报
回复
1、没开EMM386就是实模式
关于访问内存,完全可以进了再出来

2、只能使用实模式下的特权指令,比如ltr之类的就不能使用1

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧