[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Assembler problems



Hi,

I've recently got a C program with an assembler module. I've encountered
two problems compiling it for MiNT:

1) FPU instructions like FMOVE (and several other 68882 instructions as
   well) aren't recognized by the compiler, while some of them are being
   bought successfully. Will the 'new' gas solve it?

2) The assembler module contains two functions, those need to be called
   with register parameters. These are six pointers located in registers
   A0-A5 and a short int value passed in the register D0. How to force
   the compiler to load them to the appropriate registers before function
   call? Is it enough to use a prototype like this:

void some_function(register float *val1, register float *val2, register
   float *val3, register float *val4, register float *val5, register
   float *val6, register short var)

   to be sure the pointers val1 to val6 will be loaded to registers A0-A5
   respectively and the variable 'var' - to the register D0? 

The program I am talking about is not a Unix source, its from Amiga SAS C.

Thanks for any help (the program is *deadly* worth porting).

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.