Home | History | Annotate | Line # | Download | only in include
sh_opcode.h revision 1.2.4.1
      1  1.2.4.1  jdolecek /* $NetBSD: sh_opcode.h,v 1.2.4.1 2002/06/23 17:40:43 jdolecek Exp $ */
      2      1.1    itojun 
      3      1.1    itojun typedef union {
      4      1.1    itojun 	unsigned word;
      5      1.1    itojun 
      6      1.2   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.2   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.2.4.1  jdolecek #define	OP_BF	0x8b
    149  1.2.4.1  jdolecek #define	OP_BFS	0x8f
    150  1.2.4.1  jdolecek #define	OP_BT	0x89
    151  1.2.4.1  jdolecek #define	OP_BTS	0x8d
    152  1.2.4.1  jdolecek #define	OP_BRA	0xa
    153  1.2.4.1  jdolecek #define	OP_BSR	0xb
    154  1.2.4.1  jdolecek #define	OP1_BRAF	0x0
    155  1.2.4.1  jdolecek #define	OP2_BRAF	0x23
    156  1.2.4.1  jdolecek #define	OP1_BSRF	0x0
    157  1.2.4.1  jdolecek #define	OP2_BSRF	0x03
    158  1.2.4.1  jdolecek #define	OP1_JMP	0x4
    159  1.2.4.1  jdolecek #define	OP2_JMP	0x2b
    160  1.2.4.1  jdolecek #define	OP1_JSR	0x4
    161  1.2.4.1  jdolecek #define	OP2_JSR	0x0b
    162  1.2.4.1  jdolecek #define	OP_RTS	0xffff
    163