Here is my function that doesn't compile:
asm void mcf5xxx_wr_cacr(unsigned long) { /* Set VBR */
move.l 4(SP),D0
// .long 0x4e7b0002 /* movec d0,cacr */
movec d0,cacr
nop
rts
}
In the mcf5xxx_lo.s file, in the CodeWarrior V7.0 repertory, I found this assembler definition of the same function:
mcf5xxx_wr_cacr:
_mcf5xxx_wr_cacr:
move.l 4(SP),D0
.long 0x4e7b0002 /* movec d0,cacr */
nop
rts
Both seems to do the same operation in differents ways. I've tried both of them and nether seems to works, except when I'm in debug mode, the second one works fine, but it doesn't matter since everything is working fine in debug mode when I comment the line with error.
Fred Talbot