Re: help with physical addresses

new topic     » goto parent     » topic index » view thread      » older message » newer message

Hayden McKay wrote:
> 
> 
> Im currently creating a library that is dependant on some memory managment
> routines. The trouble is the referance I'm useing referes to a 32-bit
> 'physical address pointer' (CPU address). I useualy read 32-bit read mode
> pointers useing: 

and_bits(peek4u(address),#FFFF) + (and_bits(peek4u(address+2),#FFFF) * 16)


I think this should have been:

and_bits(peek4u(address),#FFFF) + (and_bits(peek4u(address+2),#FFFF) * #10000)


> I'm assuming I can simply read a 'physical address pointer' as so:
> }}}
<eucode> peek4u(address)</eucode>
{{{
. assuming that this is a flat address.
> I'm not completely sure on how I'm ment to be reading this.
> Is this the correct way to read a '32-bit physical address pointer'?
> n.b. This address later gets mapped useing int 31h, func 08h.

Yes, the above should really just be peek4u(address).  The first peek4u
inside the and_bits() reads the whole address, and then you chop it off,
and then [incorrectly] get the other half of the pointer.

Matt Lewis

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu