社区
汇编语言
帖子详情
关于实模式转保护模式时CR0的问题,请赐教!!
fansaien
2002-05-01 08:42:22
我目前正在学习实模式转保护模式,其中一步是要把CR0的PE置1,一般是这么做:
MOV EAX , CR0
OR EAX , 1
MOV CR0 , EAX
可我在执行第三步时,便自行重起
但若无第二步则可运行,我怀疑是被编译优化掉了
请指教!!
附:操作系统:DOS 6.22,在CONFIG.SYS中无论加不加HIMEM.SYS & EMM386.EXE 结果都一样.
...全文
154
6
打赏
收藏
关于实模式转保护模式时CR0的问题,请赐教!!
我目前正在学习实模式转保护模式,其中一步是要把CR0的PE置1,一般是这么做: MOV EAX , CR0 OR EAX , 1 MOV CR0 , EAX 可我在执行第三步时,便自行重起 但若无第二步则可运行,我怀疑是被编译优化掉了 请指教!! 附:操作系统:DOS 6.22,在CONFIG.SYS中无论加不加HIMEM.SYS & EMM386.EXE 结果都一样.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
刘小辉同学
2002-05-08
打赏
举报
回复
你可以用Soft-Ice(Dos)
fansaien
2002-05-08
打赏
举报
回复
请问大家除了用JMP $指令还有没有更好的方法调试保护模式下的程序,或是有工具可以跳过
MOV CR0 , EAX,
tielian
2002-05-02
打赏
举报
回复
执行LGDT不会重启计算机,
fansaien
2002-05-02
打赏
举报
回复
多谢两位,我现在明白了是调试导致的重起,我用的是DXDEBUG,可调试386汇编的,环境就是纯DOS6.22
现在的问题就是,不能只靠jmp $来跟踪程序吧!虽然根据折半算法找起来很快,但没有别的办法了吗??
wowocock
2002-05-02
打赏
举报
回复
一般这种程序是在执行LGDT时候重启计算机,还有的可能是你不是在RING0层,不允许访问CR0,也就是说,你可能运行了其他保护模式程序,你可以用DOS启动盘,重新启动后再试试。
tielian
2002-05-01
打赏
举报
回复
你怎么知道是在那里重启计算机的?
如果你是用debug或td调试肯定重启
用不到200行代码设计x86
保护
模式
下的操作系统
本课程为学习Linux 0.11内核源码,以及《设计自己的x86 Linux操作系统》课程的前置课程。课程通过不到200行代码(其中汇编不到100行),演示了如何使用80386的硬件机制来创建一个32位简单的双任务切换的超小型操作系统。课程重点讲解80386
保护
模式
下的编程,涉及的内容包括:1、计算机启动流程的介绍2、
实
模式
和
保护
模式
区别,进入
保护
模式
下的方法3、GDT/IDT/LDT表介绍以及使用方法4、利用TSS来
实
现任务的切换5、利用8253定
时
器中断
实
现任务下下文切换6、利用调用门增加系统调用接口。学习本课程只需要你有8086汇编的基础(简单用过即可,不需要精通,我也不精通),熟悉C语言编程即可。在学习完本课程后,将为分析Linux 0.11源码、设计自己的操作系统打下坚
实
的硬件知识储备。可以点击我的课程主页,了解更多相关课程。
驱动程序9--
实
模式
,
保护
模式
,虚拟8086
模式
from:http://blog.sina.com.cn/s/blog_61d65e360100glqy.html 驱动程序9--
实
模式
,
保护
模式
,虚拟8086
模式
(2010-01-07 00:23:04)
转
载▼
实
模式
,
保护
模式
,虚拟8086
模式
本打算这个笔记是昨天写的,但是一提笔笔者就迷茫了,我该如何去写呢~?我如何去描述
c/c++笔试题
微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度
实
体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统
C/C++笔试题(很多)
微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度
实
体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4
C/C++笔试题
微软亚洲技术中心的面试题!!! 1.进程和线程的差别。 线程是指进程内的一个执行单元,也是进程内的可调度
实
体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行 (3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章