pei meng,
Which address mode of the source do you mean by using term "s" in the "movea.l (s,a6),a1" instruction?
Possibly, the error message is caused by the forbidden address mode, or your compiler don't familiar with the given pseudo instruction.
Possibly, you mention one of the following address mode of the source, which are permitted in movea instruction of Coldfire V2 (ISA_A):
Addressing mode: (d16,Ay)
Mode: 101
Register: Ay
Addressing mode: (d8,Ay,Xi)
Mode: 110
Register: Ay
Addressing mode: (d16,PC)
Mode: 111
Register: 010
Addressing mode: (d8,PC,Xi)
Mode: 111
Register: 011
For example, the instruction movea.l (5,%a6),%a1 is compiled successfully with GNU compiler.