Ronald G Minnich <[EMAIL PROTECTED]> writes:

> Anybody know how I can get a 32-bit memory reference in 16-bit mode? 
> 
> If I do this:
>       mov     $0x400000, %esi
>       addr32  movb    $0,(%esi)
> 
> I get a GPF on the add32 part, although the generated code is correct. 

That I even know this is terrible, but..

The problem is that you are exceeding the segment limit on your
16 bit data segment.  The only way I have actually heard to do this
is to go into protected mode set up a segment register with
a higher limit, and switch back to real mode.  fs&gs are usually
chosen because other 16 bit code doesn't play with them.  And
a segment reload of course resets the segments limits.

Eric

Reply via email to