首页
论坛
课程
招聘
[求助]关于intel cpu的模式切换
2020-11-24 07:33 1720

[求助]关于intel cpu的模式切换

2020-11-24 07:33
1720

看手册时看到了这一页,于是想试一试

于是

虽然物理地址和线性地址已经映射为相同,但是修改cr0的一瞬间,就蓝屏了

然后我就在想,是不是没有满足Insure that the gdt and idt are in identity mapped pages

于是把gdt给映射了

虽然映射后,gdt中内容完全没有变化,但是再次执行,却直接蓝屏了


关于修改gdtr寄存器,模式切换的资料,在网上都找不到,所以自己也只是在瞎搞

求大佬指点


[2022冬季班]《安卓高级研修班(网课)》月薪三万班招生中~

收藏
点赞0
打赏
分享
最新回复 (10)
雪    币: 1843
活跃值: 活跃值 (2016)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
はつゆき 活跃值 2020-11-24 08:34
2
0
windows并不可以运行在实模式下
雪    币: 126
活跃值: 活跃值 (481)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fatcateatrat 活跃值 2020-11-24 09:19
3
0
80x86 汇编语言程序设计教程 杨季文等编著  10.4节 实 方式与保护方式切换实例。  网上应该可以找到。
雪    币: 988
活跃值: 活跃值 (643)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Caim Astraea 活跃值 2020-11-24 12:42
4
0
はつゆき windows并不可以运行在实模式下
windows确实不能运行在实模式下,但是单核cli后,让cpu运行一下,然后在sti前切换回来,理论上应该不会影向系统运行?
雪    币: 1843
活跃值: 活跃值 (2016)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
はつゆき 活跃值 2020-11-24 13:43
5
0
没懂你不影响系统运行是啥意思,实模式下,不支持地址翻译,访问的所有内存均为物理内存,并且所有寄存器均为16位,怎么做才能不影响系统运行呢?
雪    币: 10373
活跃值: 活跃值 (2289)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 活跃值 2020-11-24 14:55
6
0

可以自由切换的,但是不是把CR0修改那么简单的。

最后于 2020-11-24 14:58 被tDasm编辑 ,原因:
雪    币: 988
活跃值: 活跃值 (643)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Caim Astraea 活跃值 2020-11-24 18:51
7
0
tDasm 可以自由切换的,但是不是把CR0修改那么简单的。
问题是,这一步我就卡死了
雪    币: 10373
活跃值: 活跃值 (2289)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 活跃值 2020-11-25 09:16
8
0
JUMP16          MACRO   Selector,Offset
                DB      0eah     ;操作码
                DW      Offset   ;16位偏移量
                DW      Selector ;段值或段选择子
                ENDM
;切换回实模式
                mov     eax,cr0
                and     al,11111110b
                mov     cr0,eax
                ;清指令预取队列,进入实方式
                JUMP16  <SEG Real>,<OFFSET Real>
Real:           ;现在又回到实方式
                DisableA20
                sti

雪    币: 988
活跃值: 活跃值 (643)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Caim Astraea 活跃值 2020-11-25 12:13
9
0
tDasm JUMP16 MACRO Selector,Offset DB 0eah ;操作码 DW ...
这是手册上的第6 第7步?可以看一下第2-5步的吗
雪    币: 46
活跃值: 活跃值 (660)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
NutCracker 活跃值 2020-11-25 12:49
10
0
用vmware做个dos虚拟机,在dos里面玩。windows上是不可能让你这么玩的。
雪    币: 48
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
Paula。 活跃值 2020-11-25 21:57
11
0
はつゆき windows并不可以运行在实模式下
是的
游客
登录 | 注册 方可回帖
返回