| delorie.com/archives/browse.cgi | search |
| From: | "Thomas Schachtner" <thomas DOT schachtner AT gmx DOT de> |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: read a specific memory address |
| Date: | Fri, 4 May 2001 14:20:42 +0200 |
| Organization: | Deutsche Telekom AG |
| Lines: | 48 |
| Message-ID: | <9cu780$5rr$1@news2.dtag.de> |
| References: | <9cp464$ju8$1 AT news2 DOT dtag DOT de> <9cp8nj$ap6$1 AT nets3 DOT rz DOT RWTH-Aachen DOT DE> |
| NNTP-Posting-Host: | masked-user.toshiba-tro.de |
| X-Trace: | news2.dtag.de 988979264 6011 194.25.188.1 (4 May 2001 12:27:44 GMT) |
| X-Complaints-To: | usenet AT news DOT dtag DOT de |
| NNTP-Posting-Date: | 4 May 2001 12:27:44 GMT |
| X-Priority: | 3 |
| X-MSMail-Priority: | Normal |
| X-Newsreader: | Microsoft Outlook Express 5.50.4522.1200 |
| X-MimeOLE: | Produced By Microsoft MimeOLE V5.50.4522.1200 |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
hey, thank you for your info!!!! Now I try to use _farpeekb() or the DPMI... functions Do they work also with WindowsNT/Windows2000 environment? If not, is there any possibility to read values from a physical address? Thank your for the help, again Thomas "Hans-Bernhard Broeker" <broeker AT physik DOT rwth-aachen DOT de> wrote in message news:9cp8nj$ap6$1 AT nets3 DOT rz DOT RWTH-Aachen DOT DE... > Thomas Schachtner <thomas DOT schachtner AT gmx DOT de> wrote: > > > I want to read a value that is stored on (Real-Mode-)Address: F000:0000 > > That's simple. Use the _farpeekb() function. > > > And another value from e. g. 0x03847384 (a 32 bit memory address). > > There is no such thing as an absolute memory address, from the point > of view of a DJGPP application. We use a segmented memory model > similar to the 'tiny' model of 16 bit PC programing times, but with > segments potentially 4 Gigabytes long. > > You're probably referring to a linear adress space (i.e. the actual > physical address bits at the CPU's pins). You need special function > of the __dpmi_*() family to map such addresses into the program's > memory space, which are not available in all DPMI environments. > > > is the address the same as the value from a pointer? > > No. > > > Why not? > > Because of the Memory Management Unit (MMU) built into all x86 CPUs > since the 386. It translates logical addresses into linear/physical > ones, based upon settings you make in the 'descriptor tables'. > > -- > Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de) > Even if all the snow were burnt, ashes would remain.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |