delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/05/04/08:45:05

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.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019