From: "François Poirier" Newsgroups: comp.os.msdos.djgpp Subject: Re: Pointer to memory Date: Sun, 10 Jan 1999 15:50:46 -0500 Organization: AEI Internet Lines: 34 Message-ID: <369912A6.52079EC4@aei.ca> References: <36985DB7 DOT C5C7D160 AT 2xtreme DOT net> NNTP-Posting-Host: ppp-110-223.mtl.aei.ca Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 4.05 [en] (Win95; I) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Use this: #include void * MK_FP (unsigned short seg, unsigned short ofs) { if ( !(_crt0_startup_flags & _CRT0_FLAG_NEARPTR) ) if (!__djgpp_nearptr_enable ()) return (void *)0; return (void *) (seg*16 + ofs + __djgpp_conventional_base); } Alex Lowe wrote: > I am trying to port some code, for reading the fonts in ROM for DOS. > Anyway, what I need to do is to get the memory location of this... I > have 2 pointers... segment and offset... > > And I want to have the pointers added, for example if the segement is > 0xAA and the offset is 0x03 then I can make a pointer to 0xAD... > > The code I am trying to port looks like this: > > char *offset=regs.x.bp; > char *segment=regs.x.es; > > char *font=*MK_FP(segment, offset); > > That is the code... the last line is the one I am having trouble with... > Thanks for the info, I hoped I described this well enough. > > -- Alex