OLD | NEW |
1 /* Opcode table for the TI MSP430 microcontrollers | 1 /* Opcode table for the TI MSP430 microcontrollers |
2 | 2 |
3 Copyright 2002, 2004, 2010 Free Software Foundation, Inc. | 3 Copyright 2002-2013 Free Software Foundation, Inc. |
4 Contributed by Dmitry Diky <diwil@mail.ru> | 4 Contributed by Dmitry Diky <diwil@mail.ru> |
5 | 5 |
6 This program is free software; you can redistribute it and/or modify | 6 This program is free software; you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation; either version 3, or (at your option) | 8 the Free Software Foundation; either version 3, or (at your option) |
9 any later version. | 9 any later version. |
10 | 10 |
11 This program is distributed in the hope that it will be useful, | 11 This program is distributed in the hope that it will be useful, |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 MSP_INSN (bge, 4, 4, 0, 0xffff), | 112 MSP_INSN (bge, 4, 4, 0, 0xffff), |
113 MSP_INSN (bgeu, 4, 5, 0, 0xffff), | 113 MSP_INSN (bgeu, 4, 5, 0, 0xffff), |
114 MSP_INSN (bltn, 4, 6, 0, 0xffff), | 114 MSP_INSN (bltn, 4, 6, 0, 0xffff), |
115 MSP_INSN (jump, 4, 7, 0, 0xffff), | 115 MSP_INSN (jump, 4, 7, 0, 0xffff), |
116 /* Long polymorphs. */ | 116 /* Long polymorphs. */ |
117 MSP_INSN (bgt, 5, 0, 0, 0xffff), | 117 MSP_INSN (bgt, 5, 0, 0, 0xffff), |
118 MSP_INSN (bgtu, 5, 1, 0, 0xffff), | 118 MSP_INSN (bgtu, 5, 1, 0, 0xffff), |
119 MSP_INSN (bleu, 5, 2, 0, 0xffff), | 119 MSP_INSN (bleu, 5, 2, 0, 0xffff), |
120 MSP_INSN (ble, 5, 3, 0, 0xffff), | 120 MSP_INSN (ble, 5, 3, 0, 0xffff), |
121 | 121 |
| 122 /* MSP430X instructions - these ones use an extension word. |
| 123 A negative format indicates an MSP430X instruction. */ |
| 124 MSP_INSN (addcx, -2, 2, 0x6000, 0xf000), |
| 125 MSP_INSN (addx, -2, 2, 0x5000, 0xf000), |
| 126 MSP_INSN (andx, -2, 2, 0xf000, 0xf000), |
| 127 MSP_INSN (bicx, -2, 2, 0xc000, 0xf000), |
| 128 MSP_INSN (bisx, -2, 2, 0xd000, 0xf000), |
| 129 MSP_INSN (bitx, -2, 2, 0xb000, 0xf000), |
| 130 MSP_INSN (cmpx, -2, 2, 0x9000, 0xf000), |
| 131 MSP_INSN (daddx, -2, 2, 0xa000, 0xf000), |
| 132 MSP_INSN (movx, -2, 2, 0x4000, 0xf000), |
| 133 MSP_INSN (subcx, -2, 2, 0x7000, 0xf000), |
| 134 MSP_INSN (subx, -2, 2, 0x8000, 0xf000), |
| 135 MSP_INSN (xorx, -2, 2, 0xe000, 0xf000), |
| 136 |
| 137 /* MSP430X Synthetic instructions. */ |
| 138 MSP_INSN (adcx, -1, 1, 0x6300, 0xff30), |
| 139 MSP_INSN (clra, -1, 1, 0x4300, 0xff30), |
| 140 MSP_INSN (clrx, -1, 1, 0x4300, 0xff30), |
| 141 MSP_INSN (dadcx, -1, 1, 0xa300, 0xff30), |
| 142 MSP_INSN (decx, -1, 1, 0x8310, 0xff30), |
| 143 MSP_INSN (decda, -1, 1, 0x8320, 0xff30), |
| 144 MSP_INSN (decdx, -1, 1, 0x8320, 0xff30), |
| 145 MSP_INSN (incx, -1, 1, 0x5310, 0xff30), |
| 146 MSP_INSN (incda, -1, 1, 0x5320, 0xff30), |
| 147 MSP_INSN (incdx, -1, 1, 0x5320, 0xff30), |
| 148 MSP_INSN (invx, -1, 1, 0xe330, 0xfff0), |
| 149 MSP_INSN (popx, -1, 1, 0x4130, 0xff30), |
| 150 MSP_INSN (rlax, -1, 2, 0x5000, 0xf000), |
| 151 MSP_INSN (rlcx, -1, 2, 0x6000, 0xf000), |
| 152 MSP_INSN (sbcx, -1, 1, 0x7300, 0xff30), |
| 153 MSP_INSN (tsta, -1, 1, 0x9300, 0xff30), |
| 154 MSP_INSN (tstx, -1, 1, 0x9300, 0xff30), |
| 155 |
| 156 MSP_INSN (pushx, -3, 1, 0x1200, 0xff80), |
| 157 MSP_INSN (rrax, -3, 1, 0x1100, 0xff80), |
| 158 MSP_INSN (rrcx, -3, 1, 0x1000, 0xff80), |
| 159 MSP_INSN (swpbx, -3, 1, 0x1080, 0xffc0), |
| 160 MSP_INSN (sxtx, -3, 1, 0x1180, 0xffc0), |
| 161 |
| 162 /* MSP430X Address instructions - no extension word needed. |
| 163 The insn_opnumb field is used to encode the nature of the |
| 164 instruction for assembly and disassembly purposes. */ |
| 165 MSP_INSN (calla, -1, 4, 0x1300, 0xff00), |
| 166 |
| 167 MSP_INSN (popm, -1, 5, 0x1600, 0xfe00), |
| 168 MSP_INSN (pushm, -1, 5, 0x1400, 0xfe00), |
| 169 |
| 170 MSP_INSN (rrcm, -1, 6, 0x0040, 0xf3e0), |
| 171 MSP_INSN (rram, -1, 6, 0x0140, 0xf3e0), |
| 172 MSP_INSN (rlam, -1, 6, 0x0240, 0xf3e0), |
| 173 MSP_INSN (rrum, -1, 6, 0x0340, 0xf3e0), |
| 174 |
| 175 MSP_INSN (rrux, -1, 7, 0x0340, 0xffe0), /* Synthesized in terms of RRUM. */ |
| 176 |
| 177 MSP_INSN (adda, -1, 8, 0x00a0, 0xf0b0), |
| 178 MSP_INSN (cmpa, -1, 8, 0x0090, 0xf0b0), |
| 179 MSP_INSN (suba, -1, 8, 0x00b0, 0xf0b0), |
| 180 |
| 181 MSP_INSN (reta, -1, 9, 0x0110, 0xffff), |
| 182 MSP_INSN (bra, -1, 9, 0x0000, 0xf0cf), |
| 183 MSP_INSN (mova, -1, 9, 0x0000, 0xf080), |
| 184 MSP_INSN (mova, -1, 9, 0x0080, 0xf0b0), |
| 185 MSP_INSN (mova, -1, 9, 0x00c0, 0xf0f0), |
| 186 |
| 187 /* Pseudo instruction to set the repeat field in the extension word. */ |
| 188 MSP_INSN (rpt, -1, 10, 0x0000, 0x0000), |
| 189 |
122 /* End of instruction set. */ | 190 /* End of instruction set. */ |
123 { NULL, 0, 0, 0, 0 } | 191 { NULL, 0, 0, 0, 0 } |
124 }; | 192 }; |
125 | 193 |
126 #endif | 194 #endif |
OLD | NEW |