[net.unix-wizards] 2.10.2 virtterm.c

john@sol1.UUCP (john) (09/17/84)

> [gollum :-)]
> 
> > From: john@sol1.UUCP
> 
> > When compiling the 2.10.2 version of the news system, we have encountered
> > the following when trying to compile virtterm.c:
> > 
> > 00  0E9A  0000		1309		movb  a0,a5@
> > 
> > Invalid Operand       
> 
> Welcome to the club.  68000 C compilers don't seem to realize that the instr.
> "movb an,anything" is illegal in the 68000; the assembler catches it and dies.
> The only solutions are: (1) get rid of all register variables in virtterm.c,
> (2) massage the C compiler output (-S flag), or (3) find a decent 68000 C
> compiler.  Good luck.
> 
> (P.S.  If you find a decent compiler, please point us to it!)
> 
> --bsa

Thank you to all who responded to this question.
     sol1!john

niel%ucsc.csnet@CSNET-RELAY.ARPA (09/17/84)

If you look in the Motorola 68000 manual on page 134 you will see that
for byte size operation address register direct is not allowed.  This
means that you can not pull the lowest byte out of that address register.
I assume this is compiled from C source code in which case there is a problem
in your compiler.  If this assembly code came from the source for your
program and not your compiler then it was not designed or debugged for
the 68000.  Good luck
                 Niel Warren