Coldfire uC5282 Question
WENorum at lbl.gov
Tue Mar 30 18:36:56 UTC 2010
On Mar 30, 2010, at 11:32 AM, Thomas Dörfler wrote:
> Eric, Joel,
> Joels listing really shows the opcode 0x51ca
> I have looked it up in an of M68k manual. The problem I see is bit 3,
> because this is even an illegal coding for 68k:
> Bit 5-3 in the opcode hold the "Adressing MODE" field, and the coding
> 001 in it is undefined (would select an adress register instead of data
> register as destination).
Nope. It's actually a completely different instruction (DBCC).
But in any case, that's illegal for a ColdFire.
> So -> compiler problem. The compiler should never generate this code.
> Even the assembler shouldn't.
> What does "objdump" say to that opcode?
> On 30.03.2010 20:14, Eric Norum wrote:
>> That's the standard 'SCC' command (Set Condition Code) -- In everything from the 68000 on up.
>>> From the programmer's guide:
>> Attributes: Size = (Byte)
>> Description: The specified condition code is tested. If the condition is true, the bits at the effective address are all set to one (i.e., $FF). Otherwise, the bits at the effective address are set to zeros (i.e., $00).
>> So, 'SF' would be 'Set On False' -- i.e. set never. Another way to 'clear byte' I guess.
>> Kind of a corner case for the SCC instruction, but the emulator really should handle it!
>> On Mar 30, 2010, at 10:48 AM, Joel Sherrill wrote:
>>> I am running gcc testsuite on the qemu uC5282
>>> simulator. I am getting a number of failures
>>> where qemu says an illegal instruction was
>>> encountered. Can a coldfire person out there
>>> tell me whether this is qemu not supporting
>>> a valid coldfire instruction or this instruction
>>> should not be generated by gcc with the -mcpu=5282
>>> [joel at rtbf64b gcc]$ m68k-rtems4.10-objdump -da zero-struct-2.x7 | grep -i "51 ca"
>>> [joel at rtbf64b gcc]$ m68k-rtems4.10-objdump -da zero-struct-2.x7 | grep -i "5186c"
>>> 5186c: 51ca sf %d2
>>> $ uC5282 -i zero-struct-2.x7
>>> /users/joel/qemu-coverage/install/bin/qemu-system-m68k is /users/joel/qemu-coverage/install/bin/qemu-system-m68k
>>> qemu: fatal: Illegal instruction: 51ca @ 0005186c
>>> D0 = 00000000 A0 = 00063b98 F0 = 0000000000000000 ( 0)
>>> D1 = 00000034 A1 = 00063186 F1 = 0000000000000000 ( 0)
>>> D2 = 00000000 A2 = 00063b98 F2 = 0000000000000000 ( 0)
>>> D3 = 000615e6 A3 = 00000000 F3 = 0000000000000000 ( 0)
>>> D4 = 00000034 A4 = 00000000 F4 = 0000000000000000 ( 0)
>>> D5 = 00000000 A5 = 00000000 F5 = 0000000000000000 ( 0)
>>> D6 = 00000000 A6 = 2000ffcc F6 = 0000000000000000 ( 0)
>>> D7 = 00000000 A7 = 2000ffa0 F7 = 0000000000000000 ( 0)
>>> PC = 00051864 SR = 2700 ----- FPRESULT = 0
>>> [joel at rtbf64b gcc]$ uC5282 zero-struct-2.x7^C
>>> Joel Sherrill, Ph.D. Director of Research& Development
>>> joel.sherrill at OARcorp.com On-Line Applications Research
>>> Ask me about RTEMS: a free RTOS Huntsville AL 35805
>>> Support Available (256) 722-9985
>>> rtems-users mailing list
>>> rtems-users at rtems.org
> Embedded Brains GmbH
> Thomas Doerfler Obere Lagerstrasse 30
> D-82178 Puchheim Germany
> email: Thomas.Doerfler at embedded-brains.de
> Phone: +49-89-18908079-2
> Fax: +49-89-18908079-9
wenorum at lbl.gov
More information about the users