16-bit protected mode... As you know I've been working on driver interface for our OSes. In doing my research I have ran into a snag because I'm unfamiliar with 16-bit protected mode and the use of the associated registers. This is due to Plug and Play as well as Systems Management BIOS. Both use 16-bit protected mode for calling them in determining the installed devices. I tried a direct 32-bit call, but imagine what happens upon a return from a call? It calls another routine not within the original sequence.
So, do I need to do anything special, other than setup registers (ie. DS, SS) and jump to 16-bit code? Then re-setup 32-bit code and registers? What should I look out for? Any pitfalls anyone else has encoutnered?
Dex- 07-05-2005
; Essentially to switch to 16-bit protected mode
; is easy with the necessary descriptor
jmp REAL_CODE_SEL:do_16
[BITS 16]
do_16:
Or fasm code:
jmp 0x20:do_16
use16
do_16:
smiddy- 07-05-2005
Yupper, I thought so...thanks!
Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.