]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - opcodes/arc-dis.h
Remove trailing spaces in opcodes
[thirdparty/binutils-gdb.git] / opcodes / arc-dis.h
CommitLineData
0d2bcfaf 1/* Disassembler structures definitions for the ARC.
b90efa5b 2 Copyright (C) 1994-2015 Free Software Foundation, Inc.
0d2bcfaf
NC
3 Contributed by Doug Evans (dje@cygnus.com).
4
9b201bb5
NC
5 This file is part of libopcodes.
6
7 This library is free software; you can redistribute it and/or modify
0d2bcfaf 8 it under the terms of the GNU General Public License as published by
9b201bb5
NC
9 the Free Software Foundation; either version 3, or (at your option)
10 any later version.
0d2bcfaf 11
9b201bb5
NC
12 It is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
0d2bcfaf
NC
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software Foundation,
f4321104 19 Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
0d2bcfaf
NC
20
21#ifndef ARCDIS_H
22#define ARCDIS_H
23
43e65147 24enum
0d2bcfaf
NC
25{
26 BR_exec_when_no_jump,
27 BR_exec_always,
28 BR_exec_when_jump
29};
30
43e65147 31enum Flow
0d2bcfaf
NC
32{
33 noflow,
34 direct_jump,
35 direct_call,
36 indirect_jump,
37 indirect_call,
38 invalid_instr
39};
40
41enum { no_reg = 99 };
42enum { allOperandsSize = 256 };
43
43e65147 44struct arcDisState
0d2bcfaf
NC
45{
46 void *_this;
47 int instructionLen;
48 void (*err)(void*, const char*);
49 const char *(*coreRegName)(void*, int);
50 const char *(*auxRegName)(void*, int);
51 const char *(*condCodeName)(void*, int);
52 const char *(*instName)(void*, int, int, int*);
43e65147 53
0d2bcfaf
NC
54 unsigned char* instruction;
55 unsigned index;
56 const char *comm[6]; /* instr name, cond, NOP, 3 operands */
57 int opWidth;
58 int targets[4];
59 int addresses[4];
60 /* Set as a side-effect of calling the disassembler.
61 Used only by the debugger. */
62 enum Flow flow;
63 int register_for_indirect_jump;
64 int ea_reg1, ea_reg2, _offset;
65 int _cond, _opcode;
66 unsigned long words[2];
67 char *commentBuffer;
68 char instrBuffer[40];
69 char operandBuffer[allOperandsSize];
70 char _ea_present;
71 char _mem_load;
72 char _load_len;
73 char nullifyMode;
74 unsigned char commNum;
75 unsigned char isBranch;
76 unsigned char tcnt;
77 unsigned char acnt;
78};
79
80#define __TRANSLATION_REQUIRED(state) ((state).acnt != 0)
81
82#endif