delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/06/14/17:48:14

Sender: rich AT phekda DOT freeserve DOT co DOT uk
Message-ID: <3947F612.784F2FCC@phekda.freeserve.co.uk>
Date: Wed, 14 Jun 2000 22:16:02 +0100
From: Richard Dawe <rich AT phekda DOT freeserve DOT co DOT uk>
X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.14 i586)
X-Accept-Language: de,fr
MIME-Version: 1.0
To: djgpp AT delorie DOT com
CC: alvin_lau AT yahoo DOT com
Subject: Re: How to write protected mode far call in AT&T style
References: <39470e99 AT newsgate DOT hknet DOT com> <200006140615 DOT LAA03124 AT midpec DOT com> <394734f0$1 AT newsgate DOT hknet DOT com> <200006141715 DOT WAA01487 AT www DOT midpec DOT com>
Reply-To: djgpp AT delorie DOT com

Hello.

Prashant TR wrote:
> I'm not sure since I haven't written such code in AT&T style
> before. But I think this should do it:
> 
> lcall _oldtimer   # possibly this is equivalent to
>                   # call fword ptr [_oldtimer]?
[snip]
> > My selector and offset value are put in variables:
> > __dpmi_paddr oldtimer;
> > oldtimer.selector;
> > oldtimer.offset32;

Since oldtimer is an absolute address, you need:

lcall *_oldtimer

However, IIRC this will not compile with binutils 2.8.1. If you need the
code to be compatible with binutils 2.9.5.1 beta and 2.8.1, then omit the
asterisk (*). This syntax correction between 2.8.1 and 2.9.5.1 beta is a
PITA.

Bye,

-- 
Richard Dawe
[ mailto:richdawe AT bigfoot DOT com | http://www.bigfoot.com/~richdawe/ ]

- Raw text -


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