Coldfire uC5282 Question

Thomas Dörfler Thomas.Doerfler at embedded-brains.de
Tue Mar 30 18:32:33 UTC 2010


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).

So -> compiler problem. The compiler should never generate this code.
Even the assembler shouldn't.

What does "objdump" say to that opcode?

wkr,
Thomas.



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:
> 
>> Hi,
>>
>> 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
>> option
>>
>> [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
>>
>> Thanks.
>>
>> -- 
>> 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
>> http://www.rtems.org/mailman/listinfo/rtems-users
> 


-- 

--------------------------------------------
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



More information about the users mailing list