Home | History | Annotate | Line # | Download | only in include
sh_opcode.h revision 1.1.12.1
      1  1.1.12.1  msaitoh /* $NetBSD: sh_opcode.h,v 1.1.12.1 2000/08/08 18:33:00 msaitoh Exp $ */
      2       1.1   itojun 
      3       1.1   itojun typedef union {
      4       1.1   itojun 	unsigned word;
      5       1.1   itojun 
      6  1.1.12.1  msaitoh #if _BYTE_ORDER == BIG_ENDIAN
      7       1.1   itojun 	struct {
      8       1.1   itojun 		unsigned op: 16;
      9       1.1   itojun 	} oType;
     10       1.1   itojun 
     11       1.1   itojun 	struct {
     12       1.1   itojun 		unsigned op1: 4;
     13       1.1   itojun 		unsigned n: 4;
     14       1.1   itojun 		unsigned op2: 8;
     15       1.1   itojun 	} nType;
     16       1.1   itojun 
     17       1.1   itojun 	struct {
     18       1.1   itojun 		unsigned op1: 4;
     19       1.1   itojun 		unsigned m: 4;
     20       1.1   itojun 		unsigned op2: 8;
     21       1.1   itojun 	} mType;
     22       1.1   itojun 
     23       1.1   itojun 	struct {
     24       1.1   itojun 		unsigned op1: 4;
     25       1.1   itojun 		unsigned n: 4;
     26       1.1   itojun 		unsigned m: 4;
     27       1.1   itojun 		unsigned op2: 4;
     28       1.1   itojun 	} nmType;
     29       1.1   itojun 
     30       1.1   itojun 	struct {
     31       1.1   itojun 		unsigned op: 8;
     32       1.1   itojun 		unsigned m: 4;
     33       1.1   itojun 		unsigned d: 4;
     34       1.1   itojun 	} mdType;
     35       1.1   itojun 
     36       1.1   itojun 	struct {
     37       1.1   itojun 		unsigned op: 8;
     38       1.1   itojun 		unsigned n: 4;
     39       1.1   itojun 		unsigned d: 4;
     40       1.1   itojun 	} nd4Type;
     41       1.1   itojun 
     42       1.1   itojun 	struct {
     43       1.1   itojun 		unsigned op: 4;
     44       1.1   itojun 		unsigned n: 4;
     45       1.1   itojun 		unsigned m: 4;
     46       1.1   itojun 		unsigned d: 4;
     47       1.1   itojun 	} nmdType;
     48       1.1   itojun 
     49       1.1   itojun 	struct {
     50       1.1   itojun 		unsigned op: 8;
     51       1.1   itojun 		unsigned d: 8;
     52       1.1   itojun 	} dType;
     53       1.1   itojun 
     54       1.1   itojun 	struct {
     55       1.1   itojun 		unsigned op: 4;
     56       1.1   itojun 		unsigned d: 12;
     57       1.1   itojun 	} d12Type;
     58       1.1   itojun 
     59       1.1   itojun 	struct {
     60       1.1   itojun 		unsigned op: 4;
     61       1.1   itojun 		unsigned n: 4;
     62       1.1   itojun 		unsigned d: 8;
     63       1.1   itojun 	} nd8Type;
     64       1.1   itojun 
     65       1.1   itojun 	struct {
     66       1.1   itojun 		unsigned op: 8;
     67       1.1   itojun 		unsigned i: 8;
     68       1.1   itojun 	} iType;
     69       1.1   itojun 
     70       1.1   itojun 	struct {
     71       1.1   itojun 		unsigned op: 4;
     72       1.1   itojun 		unsigned n: 4;
     73       1.1   itojun 		unsigned i: 8;
     74       1.1   itojun 	} niType;
     75       1.1   itojun #endif
     76  1.1.12.1  msaitoh #if _BYTE_ORDER == LITTLE_ENDIAN
     77       1.1   itojun struct {
     78       1.1   itojun 		unsigned op: 16;
     79       1.1   itojun 	} oType;
     80       1.1   itojun 
     81       1.1   itojun 	struct {
     82       1.1   itojun 		unsigned op2: 8;
     83       1.1   itojun 		unsigned n: 4;
     84       1.1   itojun 		unsigned op1: 4;
     85       1.1   itojun 	} nType;
     86       1.1   itojun 
     87       1.1   itojun 	struct {
     88       1.1   itojun 		unsigned op2: 8;
     89       1.1   itojun 		unsigned m: 4;
     90       1.1   itojun 		unsigned op1: 4;
     91       1.1   itojun 	} mType;
     92       1.1   itojun 
     93       1.1   itojun 	struct {
     94       1.1   itojun 		unsigned op2: 4;
     95       1.1   itojun 		unsigned m: 4;
     96       1.1   itojun 		unsigned n: 4;
     97       1.1   itojun 		unsigned op1: 4;
     98       1.1   itojun 	} nmType;
     99       1.1   itojun 
    100       1.1   itojun 	struct {
    101       1.1   itojun 		unsigned d: 4;
    102       1.1   itojun 		unsigned m: 4;
    103       1.1   itojun 		unsigned op: 8;
    104       1.1   itojun 	} mdType;
    105       1.1   itojun 
    106       1.1   itojun 	struct {
    107       1.1   itojun 		unsigned d: 4;
    108       1.1   itojun 		unsigned n: 4;
    109       1.1   itojun 		unsigned op: 8;
    110       1.1   itojun 	} nd4Type;
    111       1.1   itojun 
    112       1.1   itojun 	struct {
    113       1.1   itojun 		unsigned d: 4;
    114       1.1   itojun 		unsigned m: 4;
    115       1.1   itojun 		unsigned n: 4;
    116       1.1   itojun 		unsigned op: 4;
    117       1.1   itojun 	} nmdType;
    118       1.1   itojun 
    119       1.1   itojun 	struct {
    120       1.1   itojun 		unsigned d: 8;
    121       1.1   itojun 		unsigned op: 8;
    122       1.1   itojun 	} dType;
    123       1.1   itojun 
    124       1.1   itojun 	struct {
    125       1.1   itojun 		unsigned d: 12;
    126       1.1   itojun 		unsigned op: 4;
    127       1.1   itojun 	} d12Type;
    128       1.1   itojun 
    129       1.1   itojun 	struct {
    130       1.1   itojun 		unsigned d: 8;
    131       1.1   itojun 		unsigned n: 4;
    132       1.1   itojun 		unsigned op: 4;
    133       1.1   itojun 	} nd8Type;
    134       1.1   itojun 
    135       1.1   itojun 	struct {
    136       1.1   itojun 		unsigned i: 8;
    137       1.1   itojun 		unsigned op: 8;
    138       1.1   itojun 	} iType;
    139       1.1   itojun 
    140       1.1   itojun 	struct {
    141       1.1   itojun 		unsigned i: 8;
    142       1.1   itojun 		unsigned n: 4;
    143       1.1   itojun 		unsigned op: 4;
    144       1.1   itojun 	} niType;
    145       1.1   itojun #endif
    146       1.1   itojun } InstFmt;
    147       1.1   itojun 
    148       1.1   itojun #define OP_BF	0x8b
    149       1.1   itojun #define OP_BFS	0x8f
    150       1.1   itojun #define OP_BT	0x89
    151       1.1   itojun #define OP_BTS	0x8d
    152       1.1   itojun #define OP_BRA	0xa
    153       1.1   itojun #define OP_BSR	0xb
    154       1.1   itojun #define OP1_BRAF	0x0
    155       1.1   itojun #define OP2_BRAF	0x23
    156       1.1   itojun #define OP1_BSRF	0x0
    157       1.1   itojun #define OP2_BSRF	0x03
    158       1.1   itojun #define OP1_JMP	0x4
    159       1.1   itojun #define OP2_JMP	0x2b
    160       1.1   itojun #define OP1_JSR	0x4
    161       1.1   itojun #define OP2_JSR	0x0b
    162       1.1   itojun #define OP_RTS	0xffff
    163