OLD | NEW |
1 /* Instruction printing code for the OpenRISC 1000 | 1 /* Instruction printing code for the OpenRISC 1000 |
2 Copyright (C) 2002, 2005, 2007 Free Software Foundation, Inc. | 2 Copyright (C) 2002, 2005, 2007, 2012 Free Software Foundation, Inc. |
3 Contributed by Damjan Lampret <lampret@opencores.org>. | 3 Contributed by Damjan Lampret <lampret@opencores.org>. |
4 Modified from a29k port. | 4 Modified from a29k port. |
5 | 5 |
6 This file is part of the GNU opcodes library. | 6 This file is part of the GNU opcodes library. |
7 | 7 |
8 This library is free software; you can redistribute it and/or modify | 8 This library is free software; you can redistribute it and/or modify |
9 it under the terms of the GNU General Public License as published by | 9 it under the terms of the GNU General Public License as published by |
10 the Free Software Foundation; either version 3, or (at your option) | 10 the Free Software Foundation; either version 3, or (at your option) |
11 any later version. | 11 any later version. |
12 | 12 |
13 It is distributed in the hope that it will be useful, but WITHOUT | 13 It is distributed in the hope that it will be useful, but WITHOUT |
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | 14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | 15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public |
16 License for more details. | 16 License for more details. |
17 | 17 |
18 You should have received a copy of the GNU General Public License | 18 You should have received a copy of the GNU General Public License |
19 along with this program; if not, write to the Free Software | 19 along with this program; if not, write to the Free Software |
20 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, | 20 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
21 MA 02110-1301, USA. */ | 21 MA 02110-1301, USA. */ |
22 | 22 |
23 #ifndef DEBUG | 23 #ifndef DEBUG |
24 #define DEBUG 0 | 24 #define DEBUG 0 |
25 #endif | 25 #endif |
26 | 26 |
| 27 #include "sysdep.h" |
27 #include "dis-asm.h" | 28 #include "dis-asm.h" |
28 #include "opcode/or32.h" | 29 #include "opcode/or32.h" |
29 #include "safe-ctype.h" | 30 #include "safe-ctype.h" |
30 #include <string.h> | |
31 #include <stdlib.h> | |
32 | 31 |
33 #define EXTEND29(x) ((x) & (unsigned long) 0x10000000 ? ((x) | (unsigned long) 0
xf0000000) : ((x))) | 32 #define EXTEND29(x) ((x) & (unsigned long) 0x10000000 ? ((x) | (unsigned long) 0
xf0000000) : ((x))) |
34 | 33 |
35 /* Now find the four bytes of INSN_CH and put them in *INSN. */ | 34 /* Now find the four bytes of INSN_CH and put them in *INSN. */ |
36 | 35 |
37 static void | 36 static void |
38 find_bytes_big (unsigned char *insn_ch, unsigned long *insn) | 37 find_bytes_big (unsigned char *insn_ch, unsigned long *insn) |
39 { | 38 { |
40 *insn = | 39 *insn = |
41 ((unsigned long) insn_ch[0] << 24) + | 40 ((unsigned long) insn_ch[0] << 24) + |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 } | 316 } |
318 | 317 |
319 /* Disassemble a little-endian or32 instruction. */ | 318 /* Disassemble a little-endian or32 instruction. */ |
320 | 319 |
321 int | 320 int |
322 print_insn_little_or32 (bfd_vma memaddr, struct disassemble_info *info) | 321 print_insn_little_or32 (bfd_vma memaddr, struct disassemble_info *info) |
323 { | 322 { |
324 info->private_data = find_bytes_little; | 323 info->private_data = find_bytes_little; |
325 return print_insn (memaddr, info); | 324 return print_insn (memaddr, info); |
326 } | 325 } |
OLD | NEW |