delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/08/25/18:41:08

From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Thoughts on physical address and DMA
Date: Sat, 25 Aug 2001 19:49:40 +0300
Lines: 20
Message-ID: <3B87D724.24375966@is.elta.co.il>
References: <f5c79439 DOT 0108171412 DOT 689b2a6b AT posting DOT google DOT com> <1438-Sat18Aug2001102628+0300-eliz AT is DOT elta DOT co DOT il> <3B7ED952 DOT 99DF5497 AT yahoo DOT com>
NNTP-Posting-Host: 192.116.55.139
Mime-Version: 1.0
X-Trace: fu-berlin.de 998758261 1048199 192.116.55.139 (16 [61365])
X-Mailer: Mozilla 4.7 [en] (Win98; I)
X-Accept-Language: en
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Nick wrote:
> 
> In other words, to get the linear address for physical address `foo', you
> would do `foo + __djgpp_conventional_base'.

The text you quoted from the FAQ doesn't mention physical address at all. 
That's no accident: there's no physical address involved in these
computations, only a linear address and an offset from the DS base address.

> If it's unclear, this is a snippet that should
> help:
> 
> linear = physical + __djgpp_conventional_base;
> physical2 = linear - __djgpp_conventional_base;

No, the computation does this:

  linear_zero_based = DS_relative - DS_base_address

There's no physical address involved here, anywhere.

- Raw text -


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