Compile Error
Mike Bertosh
mbertosh at motioncontrol.org
Fri Aug 26 19:44:04 UTC 2005
Ian thanks for clearing that up for me, I can't believe I missed that in the manual. Also
thanks Keith for the other suggestion, it has fixed the errors. Once again thanks for
everyones help.
-Mike
On 26 Aug 2005 at 10:22, Ian Caddy wrote:
> Sorry, I just read my own email, on the first line I meant to add "for a
> BCLR and a BSET instruction" ... ;-)
>
> Ian Caddy
>
>
> Ian Caddy wrote:
> > Hi Mike,
> >
> > On Coldfire processors, you can not have an immediate bit number AND an
> > absolute address at the same time.
> >
> > If you look at the Programmers Reference manual, it is not obvious, but
> > for the BCLR (and BSET) instructions, it supports different addressing
> > modes for the "Bit Number Static, specified as immediate data" (your
> > case) and "Bit Number Dynamic, specified as a register".
> >
> > In the first case (Bit number static):
> > bclr.b #<data>, Dx
> > bclr.b #<data>, (Ax)
> > bclr.b #<data>, (Ax)+
> > bclr.b #<data>, -(Ax)
> > bclr.b #<data>, (d16,Ax)
> >
> > Note all the rest of the addressing modes in the table show a dash for
> > Mode, which means they are not allowed.
> >
> > In the second case (bit number dynamic):
> > bclr.b Dx, Dx
> > bclr.b Dx, (Ax)
> > bclr.b Dx, (Ax)+
> > bclr.b Dx, -(Ax)
> > bclr.b Dx, (d16,Ax)
> > bclr.b Dx, (d8,Ax,Ai)
> > bclr.b Dx, (xxx).W
> > bclr.b Dx, (xxx).L
> >
> > So, you will have to do something like Keith suggested about putting the
> > destination address into an Address register and using that.
> >
> > I hope this helps.
> >
> > regards,
> >
> > Ian Caddy
> >
> >
> >
> >
> > Mike Bertosh wrote:
> >
> >> Ian,
> >>
> >> .BITLOOP2: BCLR.B #SCL,PORTQS |ROL.B #1,d0
> >> BCS .HIGHBIT2
> >> .LOWBIT2: BCLR.B #SDA,PORTQS
> >> BRA .SKIP2
> >> .HIGHBIT2:BSET.B #SDA,PORTQS
> >>
> >> m68k-rtems4.7-gcc --pipe
> >> -B/opt/rtems/rtems-4.7/bin/m68k-rtems4.7/mcf5235/lib/ -specs bsp_specs
> >> -qrtems -m528x -m528x -c -DASM -o o-optimize/eecode2.o
> >> eecode2.S
> >> eecode2.S: Assembler messages:
> >> eecode2.S:122: Error: operands mismatch -- statement `bclr.b
> >> #5,0xFFFC15' ignored
> >> eecode2.S:125: Error: operands mismatch -- statement `bclr.b
> >> #6,0xFFFC15' ignored
> >> eecode2.S:127: Error: operands mismatch -- statement `bset.b
> >> #6,0xFFFC15' ignored
> >>
> >> Hopefully this will help you out, let me know if there is any other
> >> information I can supply that will help.
> >>
> >> -Mike
> >>
> >> On 25 Aug 2005 at 9:55, Ian Caddy wrote:
> >>
> >>
> >>> Hi Mike,
> >>>
> >>> Maybe you could provide us with a little more information, such as
> >>> which peice of code is generating the error.
> >>>
> >>> It is quite hard to help when you have provided no details.
> >>>
> >>> regards,
> >>>
> >>> Ian Caddy
> >>>
> >>>
> >>> Mike Bertosh wrote:
> >>>
> >>>> Aaron,
> >>>>
> >>>> I have looked into your suggestion but the addressing modes I am
> >>>> using seem to exist. Any other ideas? Thanks.
> >>>>
> >>>> On 24 Aug 2005 at 14:28, Aaron J. Grier wrote:
> >>>>
> >>>>
> >>>>
> >>>>> On Wed, Aug 24, 2005 at 04:52:16PM -0400, Mike Bertosh wrote:
> >>>>>
> >>>>>
> >>>>>> I am compiling some assembly code for a Coldfire MCF5235 board. I am
> >>>>>> getting an error that says "Error invalid instruction for this
> >>>>>> architecture; needs 68000 or higher." and an error that says "Error
> >>>>>> operands mismatch --statement ignored". Does anyone know how I can
> >>>>>> fix
> >>>>>> this? Thanks for your time.
> >>>>>
> >>>>>
> >>>>> check your assembly code. coldfire v2 is missing some addressing
> >>>>> modes
> >>>>> which exist on earlier members of the 68k family.
> >>>>>
> >>>>> --
> >>>>> Aaron J. Grier | Frye Electronics, Tigard, OR | aaron at frye.com
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Mike Bertosh
> >>>> Motion Control Systems, Inc.
> >>>> New River, Va
> >>>> 540.731.0540
> >>>>
> >>>>
> >>>
> >>> --
> >>> Ian Caddy
> >>> Goanna Technologies Pty Ltd
> >>> +61 8 9221 1860
> >>>
> >>>
> >>
> >>
> >>
> >>
> >
>
> --
> Ian Caddy
> Goanna Technologies Pty Ltd
> +61 8 9221 1860
>
>
Mike Bertosh
Motion Control Systems, Inc.
New River, Va
540.731.0540
More information about the users
mailing list