From: "Thomas Schachtner" 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" wrote in message news:9cp8nj$ap6$1 AT nets3 DOT rz DOT RWTH-Aachen DOT DE... > Thomas Schachtner 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.