+ -
当前位置:首页 → 问答吧 → 如何直接从32位保护模式回到实模式?

如何直接从32位保护模式回到实模式?

时间:2011-05-18

来源:互联网

我发现如果从16位保护模式回到实模式是可以的,但是如果从32位保护模式回到实模式,
则会宕机,请问为什么?怎样修改?
请看:

......
jump16 macro selector,offsetv
  db 66h
  db 0eah ;jmp
  dw offsetv ;2 bytes offset address
  dw selector 
  endm
....
cseg1 segment use16  
  assume cs:cseg1
start:  
...
cli  
  ;
  mov eax,cr0
  or eax,1
  mov cr0,eax
.....
toreal:  
  sti
  mov ax,4c00h
  int 21h  
cseg1 ends
;
cseg3 segment use32  
  assume cs:cseg3
   
spm32:  
  mov eax,cr0
  and eax,0fffffffeh
  mov cr0,eax
  ;Return to code
  jump16 <seg toreal>,<offset toreal>
  ;

cseg3 ends

作者: leetow2003   发布时间: 2011-05-18

制造软重启,不清内存,可以回到实模式

作者: Areslee   发布时间: 2011-05-19

热门下载

更多