I was looking in BIOS interrupts info from:

http://www2.ift.ulaval.ca/~marchand/ift17583/dosints.pdf



When I saw:

INT 15 - AH = 89h SYSTEM - SWITCH TO VIRTUAL MODE (AT,XT286,PS50+)

BL = interrupt number of IRQ0 (IRQ1-7 use next 7 interrupts)

BH = interrupt number of IRQ8 (IRQ9-F use next 7 interrupts)

DS:SI -> GDT for protected mode offset 0h  null descriptor 8h  GDT descriptor 
10h  IDT descriptor 18h  DS 20h  ES 28h  SS 30h  CS 38h  uninitialized, used to 
build descriptor for BIOS CS

CX = offset into protected-mode CS to jump to

Return: CF set on error AH = 0FFh  error enabling address line 20



And that answered a bit of question to me, how can DOS programs and BIOS 
cooperate with a common GDT table?



I am not sure at all I have the "right" Jemm(Ex) source code here, but looking 
at:

https://github.com/Baron-von-Riedesel/Jemm/blob/master/src/JEMM16.ASM line 988 
and more,

it seems Jemm does not use that instruction to enter protected mode, but change 
CR0 bit 1 itself.



Maybe I could try to hack something about it... not sure I am good enough to do 
it.
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to