Re: help with physical addresses
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Sep 08, 2004
- 459 views
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