From: Tudor Newsgroups: comp.os.msdos.djgpp Subject: Re: What's Segment and Offset? Date: Mon, 05 May 1997 18:51:18 -0400 Organization: Communications Accesibles Montreal Lines: 22 Message-ID: <336E6466.5778@cam.org> References: <5kdl4b$lis AT news DOT interlog DOT com> <336DEC7B DOT 5782 AT cam DOT org> <5kl3u1$98n AT news DOT interlog DOT com> Reply-To: tudor AT cam DOT org NNTP-Posting-Host: dynamicppp-226.hip.cam.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Gautam N. Lad wrote: > Ok, what's the 'definition' fo the term OFFSET!? I don't know the exact definition. It's a displacement (movement) of something relative to another thing... Hmm, that doesn't sound so helpfull.. Let's say you have a variable in a segment. The adress of the variable is 5 :). The segment's adress is 1000. Now FP_SEG(variable_pointer) will give you 1000, and FP_OFF(variable_pointer) will give 5. Here, 5 is the adress of the variable _realtive_ to the segments start adress-- it is the offset (displacement) of your variable relative to the segment the variable is in. So if you want the actual adress in memory you do FP_SEG + FP_OFF and get 1005. That is the actual adress of your variable in memory... Hope this is clearer...:) > Thanks! > Bye! -- tudor 'at' cam 'dot' org http://www.cam.org/~tudor 'This is Scott Nudds of the Borg. C is irrelevant.'