[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gcc (Re: porting?)
> > Long branches are possible on 68020+, but PC-relative code with long
> > offsets is not possible. For example:
> >
> > move.l addr(PC),d0
> >
> > 'addr' must be 16-bit, what means a distance of -32768 up to +32767
> > bytes.
>
> At least gas 2.8.1 which I am using assembles that as long offset. Same
> thing with address register. If short mode is wanted one must use
> move.l addr:w(pc),d0 (or in mit syntax move.l pc@addr:w,d0). There's
> also --base-size-default-(16/32) and --disp-size-default-(16/32) but they
> don't seem to work or I'm doing something wrong...
Hmm, quite strange. Devpac refuses to compile long offsets to (PC) mode
and I was previously quite sure that it is correct.
--
Konrad M.Kokoszkiewicz
mail: draco@mi.com.pl
http://www.orient.uw.edu.pl/~conradus/
http://www.obta.uw.edu.pl/~draco/
** Ea natura multitudinis est,
** aut servit humiliter, aut superbe dominatur (Liv. XXIV,25)
*************************************************************
** U pospolstwa normalne jest, ze albo sluzy ono unizenie,
** albo bezczelnie sie panoszy.