Back to index

cell-binutils  2.17cvs20070401
Classes | Defines | Typedefs | Enumerations | Variables
m88k.h File Reference
#include <stdio.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  IR_FIELDS
struct  mem_segs
struct  mem_wrd
struct  PROCESSOR
struct  OPSPEC
struct  SIM_FLAGS
struct  INSTRUCTAB
union  mem_wrd.mem

Defines

#define OP   8
#define DEST   6
#define SOURCE1   6
#define SOURCE2   6
#define REGs   32
#define WORD   long
#define FLAG   unsigned
#define STATE   short
#define PINT   0
#define PFLT   1
#define PMEM   2
#define NA   3
#define HIPRI   3
#define MAXSEGS   (10) /* max number of segment allowed */
#define MEMSEGSIZE   (sizeof(struct mem_segs))/* size of mem_segs structure */
#define MEMWRDSIZE   (sizeof (struct mem_wrd))
#define i26bit   1
#define i16bit   2
#define i10bit   3
#define psr_mode   31
#define psr_rbo   30
#define psr_ser   29
#define psr_carry   28
#define psr_sf7m   11
#define psr_sf6m   10
#define psr_sf5m   9
#define psr_sf4m   8
#define psr_sf3m   7
#define psr_sf2m   6
#define psr_sf1m   5
#define psr_mam   4
#define psr_inm   3
#define psr_exm   2
#define psr_trm   1
#define psr_ovfm   0
#define ADDU   1
#define ADDC   2
#define ADDUC   3
#define ADD   4
#define SUBU   ADD+1
#define SUBB   ADD+2
#define SUBUB   ADD+3
#define SUB   ADD+4
#define AND_   ADD+5
#define OR   ADD+6
#define XOR   ADD+7
#define CMP   ADD+8
#define LDAB   CMP+1
#define LDAH   CMP+2
#define LDA   CMP+3
#define LDAD   CMP+4
#define LDB   LDAD+1
#define LDH   LDAD+2
#define LD   LDAD+3
#define LDD   LDAD+4
#define LDBU   LDAD+5
#define LDHU   LDAD+6
#define STB   LDHU+1
#define STH   LDHU+2
#define ST   LDHU+3
#define STD   LDHU+4
#define XMEMBU   LDHU+5
#define XMEM   LDHU+6
#define JSR   STD+1
#define BSR   STD+2
#define BR   STD+3
#define JMP   STD+4
#define BB1   STD+5
#define BB0   STD+6
#define RTN   STD+7
#define BCND   STD+8
#define TB1   BCND+1
#define TB0   BCND+2
#define TCND   BCND+3
#define RTE   BCND+4
#define TBND   BCND+5
#define MUL   TBND + 1
#define DIV   MUL +2
#define DIVU   MUL +3
#define MASK   MUL +4
#define FF0   MUL +5
#define FF1   MUL +6
#define CLR   MUL +7
#define SET   MUL +8
#define EXT   MUL +9
#define EXTU   MUL +10
#define MAK   MUL +11
#define ROT   MUL +12
#define LDCR   ROT +1
#define STCR   ROT +2
#define XCR   ROT +3
#define FLDCR   ROT +4
#define FSTCR   ROT +5
#define FXCR   ROT +6
#define NOP   XCR +1
#define FADD   NOP +1
#define FSUB   NOP +2
#define FMUL   NOP +3
#define FDIV   NOP +4
#define FSQRT   NOP +5
#define FCMP   NOP +6
#define FIP   NOP +7
#define FLT   NOP +8
#define INT   NOP +9
#define NINT   NOP +10
#define TRNC   NOP +11
#define FLDC   NOP +12
#define FSTC   NOP +13
#define FXC   NOP +14
#define UEXT(src, off, wid)   ((((unsigned int)(src)) >> (off)) & ((1 << (wid)) - 1))
#define SEXT(src, off, wid)   (((((int)(src))<<(32 - ((off) + (wid)))) >>(32 - (wid))) )
#define MAKE(src, off, wid)   ((((unsigned int)(src)) & ((1 << (wid)) - 1)) << (off))
#define opword(n)   (unsigned long) (memaddr->mem.l)
#define SFU0   0x80000000
#define SFU1   0x84000000
#define SFU7   0x9c000000
#define RRI10   0xf0000000
#define RRR   0xf4000000
#define SFUMASK   0xfc00ffe0
#define RRRMASK   0xfc00ffe0
#define RRI10MASK   0xfc00fc00
#define DEFMASK   0xfc000000
#define CTRL   0x0000f000
#define CTRLMASK   0xfc00f800
#define HASHVAL   79
#define NO_OPERAND   {0,0,0}

Typedefs

typedef unsigned int UINT
typedef struct INSTRUCTAB INSTAB

Enumerations

enum  operand_type {
  dummy, cst4, i16, i32,
  ui3, ui4, ui5, ui16,
  disps9, disps17, disps25, disps32,
  dispu5, dispe9, abs16, abs32,
  rbase, rbase_dispu4, rbase_disps12, rbase_disps16,
  rbase_disps28, rbase_disps32, rindex_disps6, rindex_disps22,
  regr, regr8, copregr, copsregr,
  nulloperand, MAX_OPRD, HEX = 1, REG = 2,
  CONT = 3, IND = 3, BF = 4, REGSC = 5,
  CRREG = 6, FCRREG = 7, PCREL = 8, CONDMASK = 9,
  XREG = 10, DEC = 11
}

Variables

const INSTAB instructions []

Class Documentation

struct IR_FIELDS

Definition at line 108 of file m88k.h.

Class Members
unsigned brk_flg:1
unsigned c_flag:1
unsigned dest: DEST
unsigned dest_64:1
int extime
unsigned imm_flags:2
int ltncy
unsigned n_flag:1
unsigned op:OP
unsigned rs1_used:1
unsigned rs2_used:1
unsigned rsd_used:1
unsigned s1_64:1
unsigned s2_64:1
unsigned scale_flag:1
unsigned src1: SOURCE1
unsigned src2: SOURCE2
unsigned u_flag:1
unsigned wb_flag:1
int wb_pri
struct mem_segs

Definition at line 145 of file m88k.h.

Collaboration diagram for mem_segs:
Class Members
unsigned long baseaddr
unsigned long endaddr
int flags
struct mem_wrd * seg
struct mem_wrd

Definition at line 170 of file m88k.h.

Class Members
union mem_wrd mem
struct PROCESSOR

Definition at line 188 of file m88k.h.

Class Members
WORD ALU
WORD DAbus
WORD Dbus
unsigned WORD ip
FLAG jump_pending:1
unsigned WORD psr
unsigned WORD Psw
WORD Regs
WORD S1bus
WORD S2bus
WORD Scoreboard
unsigned WORD scoreboard
WORD SFU0_regs
WORD SFU1_regs
WORD time_left
unsigned WORD Tpsw
unsigned WORD vbr
WORD Vbr
WORD wb_pri
struct OPSPEC

Definition at line 411 of file m88k.h.

Class Members
unsigned int offset
unsigned int width
struct SIM_FLAGS

Definition at line 418 of file m88k.h.

Class Members
unsigned c_flag:1
unsigned dest_64:1
int extime
unsigned imm_flags:2
int ltncy
unsigned n_flag:1
unsigned op:OP
unsigned rs1_used:1
unsigned rs2_used:1
unsigned rsd_used:1
unsigned s1_64:1
unsigned s2_64:1
unsigned scale_flag:1
unsigned u_flag:1
unsigned wb_flag:1
int wb_pri
struct INSTRUCTAB

Definition at line 438 of file m88k.h.

Collaboration diagram for INSTRUCTAB:
Class Members
char * mnemonic
OPSPEC op1
OPSPEC op2
OPSPEC op3
unsigned int opcode
union mem_wrd.mem

Definition at line 174 of file m88k.h.

Class Members
unsigned char c
unsigned long l
unsigned short s

Define Documentation

#define ADD   4

Definition at line 256 of file m88k.h.

#define ADDC   2

Definition at line 254 of file m88k.h.

#define ADDU   1

Definition at line 253 of file m88k.h.

#define ADDUC   3

Definition at line 255 of file m88k.h.

#define AND_   ADD+5

Definition at line 263 of file m88k.h.

#define BB0   STD+6

Definition at line 301 of file m88k.h.

#define BB1   STD+5

Definition at line 300 of file m88k.h.

#define BCND   STD+8

Definition at line 303 of file m88k.h.

#define BR   STD+3

Definition at line 298 of file m88k.h.

#define BSR   STD+2

Definition at line 297 of file m88k.h.

#define CLR   MUL +7

Definition at line 321 of file m88k.h.

#define CMP   ADD+8

Definition at line 266 of file m88k.h.

#define CTRL   0x0000f000

Definition at line 379 of file m88k.h.

#define CTRLMASK   0xfc00f800

Definition at line 380 of file m88k.h.

#define DEFMASK   0xfc000000

Definition at line 378 of file m88k.h.

#define DEST   6

Definition at line 56 of file m88k.h.

#define DIV   MUL +2

Definition at line 316 of file m88k.h.

#define DIVU   MUL +3

Definition at line 317 of file m88k.h.

#define EXT   MUL +9

Definition at line 323 of file m88k.h.

#define EXTU   MUL +10

Definition at line 324 of file m88k.h.

#define FADD   NOP +1

Definition at line 342 of file m88k.h.

#define FCMP   NOP +6

Definition at line 347 of file m88k.h.

#define FDIV   NOP +4

Definition at line 345 of file m88k.h.

#define FF0   MUL +5

Definition at line 319 of file m88k.h.

#define FF1   MUL +6

Definition at line 320 of file m88k.h.

#define FIP   NOP +7

Definition at line 348 of file m88k.h.

#define FLAG   unsigned

Definition at line 71 of file m88k.h.

#define FLDC   NOP +12

Definition at line 353 of file m88k.h.

#define FLDCR   ROT +4

Definition at line 334 of file m88k.h.

#define FLT   NOP +8

Definition at line 349 of file m88k.h.

#define FMUL   NOP +3

Definition at line 344 of file m88k.h.

#define FSQRT   NOP +5

Definition at line 346 of file m88k.h.

#define FSTC   NOP +13

Definition at line 354 of file m88k.h.

#define FSTCR   ROT +5

Definition at line 335 of file m88k.h.

#define FSUB   NOP +2

Definition at line 343 of file m88k.h.

#define FXC   NOP +14

Definition at line 355 of file m88k.h.

#define FXCR   ROT +6

Definition at line 336 of file m88k.h.

#define HASHVAL   79

Definition at line 407 of file m88k.h.

#define HIPRI   3

Definition at line 94 of file m88k.h.

#define i10bit   3

Definition at line 230 of file m88k.h.

#define i16bit   2

Definition at line 229 of file m88k.h.

#define i26bit   1

Definition at line 228 of file m88k.h.

#define INT   NOP +9

Definition at line 350 of file m88k.h.

#define JMP   STD+4

Definition at line 299 of file m88k.h.

#define JSR   STD+1

Definition at line 296 of file m88k.h.

#define LD   LDAD+3

Definition at line 277 of file m88k.h.

#define LDA   CMP+3

Definition at line 272 of file m88k.h.

#define LDAB   CMP+1

Definition at line 270 of file m88k.h.

#define LDAD   CMP+4

Definition at line 273 of file m88k.h.

#define LDAH   CMP+2

Definition at line 271 of file m88k.h.

#define LDB   LDAD+1

Definition at line 275 of file m88k.h.

#define LDBU   LDAD+5

Definition at line 279 of file m88k.h.

#define LDCR   ROT +1

Definition at line 330 of file m88k.h.

#define LDD   LDAD+4

Definition at line 278 of file m88k.h.

#define LDH   LDAD+2

Definition at line 276 of file m88k.h.

#define LDHU   LDAD+6

Definition at line 280 of file m88k.h.

#define MAK   MUL +11

Definition at line 325 of file m88k.h.

#define MAKE (   src,
  off,
  wid 
)    ((((unsigned int)(src)) & ((1 << (wid)) - 1)) << (off))

Definition at line 363 of file m88k.h.

#define MASK   MUL +4

Definition at line 318 of file m88k.h.

#define MAXSEGS   (10) /* max number of segment allowed */

Definition at line 160 of file m88k.h.

#define MEMSEGSIZE   (sizeof(struct mem_segs))/* size of mem_segs structure */

Definition at line 161 of file m88k.h.

#define MEMWRDSIZE   (sizeof (struct mem_wrd))

Definition at line 183 of file m88k.h.

#define MUL   TBND + 1

Definition at line 315 of file m88k.h.

#define NA   3

Definition at line 91 of file m88k.h.

#define NINT   NOP +10

Definition at line 351 of file m88k.h.

#define NO_OPERAND   {0,0,0}

Definition at line 446 of file m88k.h.

#define NOP   XCR +1

Definition at line 338 of file m88k.h.

#define OP   8

Definition at line 53 of file m88k.h.

#define opword (   n)    (unsigned long) (memaddr->mem.l)

Definition at line 366 of file m88k.h.

#define OR   ADD+6

Definition at line 264 of file m88k.h.

#define PFLT   1

Definition at line 85 of file m88k.h.

#define PINT   0

Definition at line 82 of file m88k.h.

#define PMEM   2

Definition at line 88 of file m88k.h.

#define psr_carry   28

Definition at line 237 of file m88k.h.

#define psr_exm   2

Definition at line 247 of file m88k.h.

#define psr_inm   3

Definition at line 246 of file m88k.h.

#define psr_mam   4

Definition at line 245 of file m88k.h.

#define psr_mode   31

Definition at line 234 of file m88k.h.

#define psr_ovfm   0

Definition at line 249 of file m88k.h.

#define psr_rbo   30

Definition at line 235 of file m88k.h.

#define psr_ser   29

Definition at line 236 of file m88k.h.

#define psr_sf1m   5

Definition at line 244 of file m88k.h.

#define psr_sf2m   6

Definition at line 243 of file m88k.h.

#define psr_sf3m   7

Definition at line 242 of file m88k.h.

#define psr_sf4m   8

Definition at line 241 of file m88k.h.

#define psr_sf5m   9

Definition at line 240 of file m88k.h.

#define psr_sf6m   10

Definition at line 239 of file m88k.h.

#define psr_sf7m   11

Definition at line 238 of file m88k.h.

#define psr_trm   1

Definition at line 248 of file m88k.h.

#define REGs   32

Definition at line 65 of file m88k.h.

#define ROT   MUL +12

Definition at line 326 of file m88k.h.

#define RRI10   0xf0000000

Definition at line 373 of file m88k.h.

#define RRI10MASK   0xfc00fc00

Definition at line 377 of file m88k.h.

BR BR LS BR BR BR SPR SPR LS BR BR LS SPR BR BR BR SHUF SHUF SHUF SHUF SHUF SHUF SHUF SHUF SHUF LS BR BR SHUF SHUF SHUF SHUF SHUF SHUF SHUF SHUF FX2 FX2 NOP FX2 FX2 FX2 BR FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FP7 FP7 FP7 FPD FP7 FX2 FX2 FX2 FX3 FX3 FX3 FX3 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FX2 FXB FXB FPD FP6 FP6 FP7 FP7 FP7 FX3 FX3 FX3 FX3 FP7 FPD FPD FP6 FP6 RRR   0xf4000000

Definition at line 374 of file m88k.h.

#define RRRMASK   0xfc00ffe0

Definition at line 376 of file m88k.h.

#define RTE   BCND+4

Definition at line 310 of file m88k.h.

#define RTN   STD+7

Definition at line 302 of file m88k.h.

#define SET   MUL +8

Definition at line 322 of file m88k.h.

#define SEXT (   src,
  off,
  wid 
)    (((((int)(src))<<(32 - ((off) + (wid)))) >>(32 - (wid))) )

Definition at line 360 of file m88k.h.

#define SFU0   0x80000000

Definition at line 370 of file m88k.h.

#define SFU1   0x84000000

Definition at line 371 of file m88k.h.

#define SFU7   0x9c000000

Definition at line 372 of file m88k.h.

#define SFUMASK   0xfc00ffe0

Definition at line 375 of file m88k.h.

#define SOURCE1   6

Definition at line 59 of file m88k.h.

#define SOURCE2   6

Definition at line 62 of file m88k.h.

#define ST   LDHU+3

Definition at line 286 of file m88k.h.

#define STATE   short

Definition at line 72 of file m88k.h.

#define STB   LDHU+1

Definition at line 284 of file m88k.h.

#define STCR   ROT +2

Definition at line 331 of file m88k.h.

#define STD   LDHU+4

Definition at line 287 of file m88k.h.

#define STH   LDHU+2

Definition at line 285 of file m88k.h.

#define SUB   ADD+4

Definition at line 261 of file m88k.h.

#define SUBB   ADD+2

Definition at line 259 of file m88k.h.

#define SUBU   ADD+1

Definition at line 258 of file m88k.h.

#define SUBUB   ADD+3

Definition at line 260 of file m88k.h.

#define TB0   BCND+2

Definition at line 308 of file m88k.h.

#define TB1   BCND+1

Definition at line 307 of file m88k.h.

#define TBND   BCND+5

Definition at line 311 of file m88k.h.

#define TCND   BCND+3

Definition at line 309 of file m88k.h.

#define TRNC   NOP +11

Definition at line 352 of file m88k.h.

#define UEXT (   src,
  off,
  wid 
)    ((((unsigned int)(src)) >> (off)) & ((1 << (wid)) - 1))

Definition at line 357 of file m88k.h.

#define WORD   long

Definition at line 70 of file m88k.h.

#define XCR   ROT +3

Definition at line 332 of file m88k.h.

#define XMEM   LDHU+6

Definition at line 292 of file m88k.h.

#define XMEMBU   LDHU+5

Definition at line 291 of file m88k.h.

#define XOR   ADD+7

Definition at line 265 of file m88k.h.


Typedef Documentation

typedef unsigned int UINT

Definition at line 69 of file m88k.h.


Enumeration Type Documentation

Enumerator:
dummy 
cst4 
i16 
i32 
ui3 
ui4 
ui5 
ui16 
disps9 
disps17 
disps25 
disps32 
dispu5 
dispe9 
abs16 
abs32 
rbase 
rbase_dispu4 
rbase_disps12 
rbase_disps16 
rbase_disps28 
rbase_disps32 
rindex_disps6 
rindex_disps22 
regr 
regr8 
copregr 
copsregr 
nulloperand 
MAX_OPRD 
HEX 
REG 
CONT 
IND 
BF 
REGSC 
CRREG 
FCRREG 
PCREL 
CONDMASK 
XREG 
DEC 

Definition at line 384 of file m88k.h.

{
  HEX = 1,
  REG = 2,
  CONT = 3,
  IND = 3,
  BF = 4,
  /* Scaled register.  */
  REGSC = 5,
  /* Control register.  */
  CRREG = 6,
  /* Floating point control register.  */
  FCRREG = 7,
  PCREL = 8,
  CONDMASK = 9,
  /* Extended register.  */
  XREG = 10,
  /* Decimal.  */
  DEC = 11
};

Variable Documentation

Definition at line 38 of file m88k-dis.c.