Re: Prefix 0x0F is used in 16 Bit
From: Bjarni Juliusson (bjarni.ferret_at_update.ferret.uu.se_remove_the_animal)
Date: 06/05/04
- Next message: wolfgang kern: "Re: Partial Register Occurs After JMP -- Mystery"
- Previous message: Tim Roberts: "Re: Stored Forwarding Block Problem"
- In reply to: arargh405NOSPAM_at_NOW.AT.arargh.com: "Re: Prefix 0x0F is used in 16 Bit"
- Next in thread: Matt Taylor: "Re: Prefix 0x0F is used in 16 Bit"
- Reply: Matt Taylor: "Re: Prefix 0x0F is used in 16 Bit"
- Reply: arargh405NOSPAM_at_NOW.AT.arargh.com: "Re: Prefix 0x0F is used in 16 Bit"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 5 Jun 2004 19:25:42 +0000 (UTC)
arargh405NOSPAM@NOW.AT.arargh.com wrote:
> On Sat, 5 Jun 2004 04:38:56 +0000 (UTC), Bjarni Juliusson
> <bjarni.ferret@update.ferret.uu.se_remove_the_animal> wrote:
>
>>MSDOS always runs in 16 bit real mode, and a far jmp takes a segment and
>>an offset as target. In 16 bit real mode code, that's 32 bits of data,
>>but the target address is of course 20 bits after translation.
>
> Doesn't EMM386 put the cpu into V86 mode?
Well... yes, but the point was that MSDOS uses the real mode memory model.
>>Segments are normally 64Kb in real mode.
>
> Segments can only be 64Kb in real mode(or V86 mode), unless you run
> off the end of memory, and in that case you would probably wrap around
> anyway.
No, I think you can go to protected mode, set up the segments to be
longer than 64k, and drop back to real mode without losing the long
segments. The segment settings are not updated until a segment register
is loaded, IIRC. Correct me if I'm wrong, but I think this trick has
actually been used by various demos that wanted the simplicity of
running in real mode combined with the simplicity of 32 bit flat pointers.
Bjarni
--
INFORMATION WANTS TO BE FREE
- Next message: wolfgang kern: "Re: Partial Register Occurs After JMP -- Mystery"
- Previous message: Tim Roberts: "Re: Stored Forwarding Block Problem"
- In reply to: arargh405NOSPAM_at_NOW.AT.arargh.com: "Re: Prefix 0x0F is used in 16 Bit"
- Next in thread: Matt Taylor: "Re: Prefix 0x0F is used in 16 Bit"
- Reply: Matt Taylor: "Re: Prefix 0x0F is used in 16 Bit"
- Reply: arargh405NOSPAM_at_NOW.AT.arargh.com: "Re: Prefix 0x0F is used in 16 Bit"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|