OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [opcodes/] [arm-dis.c] - Diff between revs 18 and 163

Show entire file | Details | Blame | View Log

Rev 18 Rev 163
Line 3138... Line 3138...
                      break;
                      break;
 
 
                    case 'o':
                    case 'o':
                      if ((given & 0x02000000) != 0)
                      if ((given & 0x02000000) != 0)
                        {
                        {
                          int rotate = (given & 0xf00) >> 7;
                          unsigned int rotate = (given & 0xf00) >> 7;
                          int immed = (given & 0xff);
                          unsigned int immed = (given & 0xff);
 
                          unsigned int a, i;
 
 
                          immed = (((immed << (32 - rotate))
                          a = (((immed << (32 - rotate))
                                    | (immed >> rotate)) & 0xffffffff);
                                    | (immed >> rotate)) & 0xffffffff);
                          func (stream, "#%d", immed);
                          /* If there is another encoding with smaller rotate,
                          value_in_comment = immed;
                             the rotate should be specified directly.  */
 
                          for (i = 0; i < 32; i += 2)
 
                            if ((a << i | a >> (32 - i)) <= 0xff)
 
                              break;
 
 
 
                          if (i != rotate)
 
                            func (stream, "#%d, %d", immed, rotate);
 
                          else
 
                            func (stream, "#%d", a);
 
                          value_in_comment = a;
                        }
                        }
                      else
                      else
                        arm_decode_shift (given, func, stream, TRUE);
                        arm_decode_shift (given, func, stream, TRUE);
                      break;
                      break;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.