Intermetrics asm68000 to m68k-coff-as

Mark Phillips M.S.Phillips@nortel.co.uk
Mon Apr 28 03:09:00 GMT 1997


Yes there is.

It is possible to change the assembler configuration to except unqualified
register names.

I believe this is the default for target formats where C symbols are
prefixed with an underscore. For formats where there is no prefix on C
symols, avoiding action needs to be taken so a C variable called a7
(for example) is not confused with a register....

This is done by configuring the assembler to arequire a % prefix on all 
register names, and the C compiler to use one.

If you want, you could rebuild the assembler with gas/config/xxxx.h
containing 
#define REGISTER_PREFIX_OPTIONAL 1
for example see gas/configure tc-m68k.h etc.

REMEMBER, such an assembler would be useless when used with gcc (it would
compiler because the %a7 syntax would be accepted, but if anyone used a
variable name like d1....


An alternative, nasty, method is to use coff format, but make the
compiler use an underscore prefix, and the assembler accept an
optional register prefix, but then your object format is
non-standard. I'm currently trying this - the theory is that the resulting
object file will be easier to convert to i695 for use with XRAY debugger,
but I haven't finished it yet.

Good Luck
Mark



Mark S. Phillips        ESN 742 2461
msp@nortel.co.uk        Tel. +44 1279 402461

On Sun, 27 Apr 1997, David Greeson wrote:

> Hi,
> 
> Our current assembler uses the following style,
> 
>     move.l  D1,-(A7) * displacements to arguments must change
> 
> but I had to change the line to this to get it to compile
> 
>     move.l  %D1,-(%A7) /* displacements to arguments must change */
> 
> We have thousands of line of assembler code.  Is there anyway to
> make m68k-coff-as accept the old style?
> 
> David
> 
> 
> 




More information about the crossgcc mailing list