Actually,
try this short program to see the bug in A68k 2.6
movem.l a0-a7/d1-d7,-(sp)
movem.l (sp)+,a0-a7/d1-d7
rts
END
Then run it and it crashes. Check with Metascope, and you'll see that the
first line is assembled as movem.l a0-a7/d0-d7,-(sp).
Just out of curiosity, why have you included the stack pointer (a7) in your
movem register mask? Since you have to have the stack correct at the end
of the program to permit the registers to be restored, why put the stack
inself in the mask?