Annotation of qemu/target-cris/crisv10-decode.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  *  CRISv10 insn decoding macros.
                      3:  *
                      4:  *  Copyright (c) 2010 AXIS Communications AB
                      5:  *  Written by Edgar E. Iglesias.
                      6:  *
                      7:  * This library is free software; you can redistribute it and/or
                      8:  * modify it under the terms of the GNU Lesser General Public
                      9:  * License as published by the Free Software Foundation; either
                     10:  * version 2 of the License, or (at your option) any later version.
                     11:  *
                     12:  * This library is distributed in the hope that it will be useful,
                     13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
                     14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     15:  * Lesser General Public License for more details.
                     16:  *
                     17:  * You should have received a copy of the GNU Lesser General Public
                     18:  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
                     19:  */
                     20: 
                     21: #define CRISV10_MODE_QIMMEDIATE  0
                     22: #define CRISV10_MODE_REG         1
                     23: #define CRISV10_MODE_INDIRECT    2
                     24: #define CRISV10_MODE_AUTOINC     3
                     25: 
                     26: /* Quick Immediate.  */
                     27: #define CRISV10_QIMM_BCC_R0      0
                     28: #define CRISV10_QIMM_BCC_R1      1
                     29: #define CRISV10_QIMM_BCC_R2      2
                     30: #define CRISV10_QIMM_BCC_R3      3
                     31: 
                     32: #define CRISV10_QIMM_BDAP_R0     4
                     33: #define CRISV10_QIMM_BDAP_R1     5
                     34: #define CRISV10_QIMM_BDAP_R2     6
                     35: #define CRISV10_QIMM_BDAP_R3     7
                     36: 
                     37: #define CRISV10_QIMM_ADDQ        8
                     38: #define CRISV10_QIMM_MOVEQ       9
                     39: #define CRISV10_QIMM_SUBQ       10
                     40: #define CRISV10_QIMM_CMPQ       11
                     41: #define CRISV10_QIMM_ANDQ       12
                     42: #define CRISV10_QIMM_ORQ        13
                     43: #define CRISV10_QIMM_ASHQ       14
                     44: #define CRISV10_QIMM_LSHQ       15
                     45: 
                     46: 
                     47: #define CRISV10_REG_ADDX         0
                     48: #define CRISV10_REG_MOVX         1
                     49: #define CRISV10_REG_SUBX         2
                     50: #define CRISV10_REG_LSL          3
                     51: #define CRISV10_REG_ADDI         4
                     52: #define CRISV10_REG_BIAP         5
                     53: #define CRISV10_REG_NEG          6
                     54: #define CRISV10_REG_BOUND        7
                     55: #define CRISV10_REG_ADD          8
                     56: #define CRISV10_REG_MOVE_R       9
                     57: #define CRISV10_REG_MOVE_SPR_R   9
                     58: #define CRISV10_REG_MOVE_R_SPR   8
                     59: #define CRISV10_REG_SUB         10
                     60: #define CRISV10_REG_CMP         11
                     61: #define CRISV10_REG_AND         12
                     62: #define CRISV10_REG_OR          13
                     63: #define CRISV10_REG_ASR         14
                     64: #define CRISV10_REG_LSR         15
                     65: 
                     66: #define CRISV10_REG_BTST         3
                     67: #define CRISV10_REG_SCC          4
                     68: #define CRISV10_REG_SETF         6
                     69: #define CRISV10_REG_CLEARF       7
                     70: #define CRISV10_REG_BIAP         5
                     71: #define CRISV10_REG_ABS         10
                     72: #define CRISV10_REG_DSTEP       11
                     73: #define CRISV10_REG_LZ          12
                     74: #define CRISV10_REG_NOT         13
                     75: #define CRISV10_REG_SWAP        13
                     76: #define CRISV10_REG_XOR         14
                     77: #define CRISV10_REG_MSTEP       15
                     78: 
                     79: /* Indirect, var size.  */
                     80: #define CRISV10_IND_TEST        14
                     81: #define CRISV10_IND_MUL          4
                     82: #define CRISV10_IND_BDAP_M       5
                     83: #define CRISV10_IND_ADD          8
                     84: #define CRISV10_IND_MOVE_M_R     9
                     85: 
                     86: 
                     87: /* indirect fixed size.  */
                     88: #define CRISV10_IND_ADDX         0
                     89: #define CRISV10_IND_MOVX         1
                     90: #define CRISV10_IND_SUBX         2
                     91: #define CRISV10_IND_CMPX         3
                     92: #define CRISV10_IND_JUMP_M       4
                     93: #define CRISV10_IND_DIP          5
                     94: #define CRISV10_IND_JUMP_R       6
                     95: #define CRISV10_IND_BOUND        7
                     96: #define CRISV10_IND_BCC_M        7
                     97: #define CRISV10_IND_MOVE_M_SPR   8
                     98: #define CRISV10_IND_MOVE_SPR_M   9
                     99: #define CRISV10_IND_SUB         10
                    100: #define CRISV10_IND_CMP         11
                    101: #define CRISV10_IND_AND         12
                    102: #define CRISV10_IND_OR          13
                    103: #define CRISV10_IND_MOVE_R_M    15
                    104: 
                    105: #define CRISV10_IND_MOVEM_M_R    14
                    106: #define CRISV10_IND_MOVEM_R_M    15
                    107: 

unix.superglobalmegacorp.com