Changeset 609 for branches/GNU/src/binutils/opcodes/z8kgen.c
- Timestamp:
- Aug 16, 2003, 6:59:22 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GNU/src/binutils/opcodes/z8kgen.c
-
Property cvs2svn:cvs-rev
changed from
1.1
to1.1.1.2
r608 r609 1 /* 2 Copyright 2001 Free Software Foundation, Inc. 3 4 This file is part of GNU Binutils. 5 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 8 the Free Software Foundation; either version 2 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 19 20 /* This program generates z8k-opc.h */ 21 1 /* Copyright 2001, 2002 Free Software Foundation, Inc. 2 3 This file is part of GNU Binutils. 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 18 USA. */ 19 20 /* This program generates z8k-opc.h. */ 21 22 #include <stdio.h> 22 23 #include "sysdep.h" 24 #include "libiberty.h" 23 25 24 26 #define BYTE_INFO_LEN 10 … … 37 39 struct op opt[] = 38 40 { 39 "------", 10, 8, "0000 1110 imm8", "ext0e imm8", 0, 40 "------", 10, 8, "0000 1111 imm8", "ext0f imm8", 0, 41 "------", 10, 8, "1000 1110 imm8", "ext8e imm8", 0, 42 "------", 10, 8, "1000 1111 imm8", "ext8f imm8", 0, 43 44 "------", 10, 8, "0011 0110 imm8", "rsvd36", 0, 45 "------", 10, 8, "0011 1000 imm8", "rsvd38", 0, 46 "------", 10, 8, "0111 1000 imm8", "rsvd78", 0, 47 "------", 10, 8, "0111 1110 imm8", "rsvd7e", 0, 48 49 "------", 10, 8, "1001 1101 imm8", "rsvd9d", 0, 50 "------", 10, 8, "1001 1111 imm8", "rsvd9f", 0, 51 52 "------", 10, 8, "1011 1001 imm8", "rsvdb9", 0, 53 "------", 10, 8, "1011 1111 imm8", "rsvdbf", 0, 54 55 "---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 1000", "ldd @rs,@rd,rr", 0, 56 "---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 0000", "lddr @rs,@rd,rr", 0, 57 "---V--", 11, 8, "1011 1011 ssN0 1001 0000 rrrr ddN0 0000", "lddrb @rs,@rd,rr", 0, 58 "---V--", 11, 16, "1011 1011 ssN0 0001 0000 rrrr ddN0 0000", "ldir @rd,@rs,rr", 0, 59 "CZSV--", 11, 16, "1011 1011 ssN0 0000 0000 rrrr dddd cccc", "cpi rd,@rs,rr,cc", 0, 60 "CZSV--", 11, 16, "1011 1011 ssN0 0100 0000 rrrr dddd cccc", "cpir rd,@rs,rr,cc", 0, 61 "CZSV--", 11, 16, "1011 1011 ssN0 1100 0000 rrrr dddd cccc", "cpdr rd,@rs,rr,cc", 0, 62 "---V--", 11, 16, "1011 1011 ssN0 0001 0000 rrrr ddN0 1000", "ldi @rd,@rs,rr", 0, 63 "CZSV--", 11, 16, "1011 1011 ssN0 1000 0000 rrrr dddd cccc", "cpd rd,@rs,rr,cc", 0, 64 "---V--", 11, 8, "1011 1010 ssN0 0001 0000 rrrr ddN0 0000", "ldirb @rd,@rs,rr", 0, 65 "---V--", 11, 8, "1011 1010 ssN0 1001 0000 rrrr ddN0 1000", "lddb @rs,@rd,rr", 0, 66 "---V--", 11, 8, "1011 1010 ssN0 0001 0000 rrrr ddN0 1000", "ldib @rd,@rs,rr", 0, 67 "CZSV--", 11, 8, "1011 1010 ssN0 1000 0000 rrrr dddd cccc", "cpdb rbd,@rs,rr,cc", 0, 68 "CZSV--", 11, 8, "1011 1010 ssN0 1100 0000 rrrr dddd cccc", "cpdrb rbd,@rs,rr,cc", 0, 69 "CZSV--", 11, 8, "1011 1010 ssN0 0000 0000 rrrr dddd cccc", "cpib rbd,@rs,rr,cc", 0, 70 "CZSV--", 11, 8, "1011 1010 ssN0 0100 0000 rrrr dddd cccc", "cpirb rbd,@rs,rr,cc", 0, 71 "CZSV--", 11, 16, "1011 1011 ssN0 1010 0000 rrrr ddN0 cccc", "cpsd @rd,@rs,rr,cc", 0, 72 "CZSV--", 11, 8, "1011 1010 ssN0 1010 0000 rrrr ddN0 cccc", "cpsdb @rd,@rs,rr,cc", 0, 73 "CZSV--", 11, 16, "1011 1011 ssN0 1110 0000 rrrr ddN0 cccc", "cpsdr @rd,@rs,rr,cc", 0, 74 "CZSV--", 11, 8, "1011 1010 ssN0 1110 0000 rrrr ddN0 cccc", "cpsdrb @rd,@rs,rr,cc", 0, 75 "CZSV--", 11, 16, "1011 1011 ssN0 0010 0000 rrrr ddN0 cccc", "cpsi @rd,@rs,rr,cc", 0, 76 "CZSV--", 11, 8, "1011 1010 ssN0 0010 0000 rrrr ddN0 cccc", "cpsib @rd,@rs,rr,cc", 0, 77 "CZSV--", 11, 16, "1011 1011 ssN0 0110 0000 rrrr ddN0 cccc", "cpsir @rd,@rs,rr,cc", 0, 78 "CZSV--", 11, 8, "1011 1010 ssN0 0110 0000 rrrr ddN0 cccc", "cpsirb @rd,@rs,rr,cc", 0, 79 80 "------", 2, 8, "0011 0110 0000 0000", "bpt", 0, 81 "CZSV--", 5, 16, "1011 0101 ssss dddd", "adc rd,rs", 0, 82 "CZSVDH", 5, 8, "1011 0100 ssss dddd", "adcb rbd,rbs", 0, 83 "CZSV--", 7, 16, "0000 0001 ssN0 dddd", "add rd,@rs", 0, 84 "CZSV--", 9, 16, "0100 0001 0000 dddd address_src", "add rd,address_src", 0, 85 "CZSV--", 10, 16, "0100 0001 ssN0 dddd address_src", "add rd,address_src(rs)", 0, 86 "CZSV--", 7, 16, "0000 0001 0000 dddd imm16", "add rd,imm16", 0, 87 "CZSV--", 4, 16, "1000 0001 ssss dddd", "add rd,rs", 0, 88 "CZSVDH", 7, 8, "0000 0000 ssN0 dddd", "addb rbd,@rs", 0, 89 "CZSVDH", 9, 8, "0100 0000 0000 dddd address_src", "addb rbd,address_src", 0, 90 "CZSVDH", 10, 8, "0100 0000 ssN0 dddd address_src", "addb rbd,address_src(rs)", 0, 91 "CZSVDH", 7, 8, "0000 0000 0000 dddd imm8 imm8", "addb rbd,imm8", 0, 92 "CZSVDH", 4, 8, "1000 0000 ssss dddd", "addb rbd,rbs", 0, 93 "CZSV--", 14, 32, "0001 0110 ssN0 dddd", "addl rrd,@rs", 0, 94 "CZSV--", 15, 32, "0101 0110 0000 dddd address_src", "addl rrd,address_src", 0, 95 "CZSV--", 16, 32, "0101 0110 ssN0 dddd address_src", "addl rrd,address_src(rs)", 0, 96 "CZSV--", 14, 32, "0001 0110 0000 dddd imm32", "addl rrd,imm32", 0, 97 "CZSV--", 8, 32, "1001 0110 ssss dddd", "addl rrd,rrs", 0, 98 99 "-ZS---", 7, 16, "0000 0111 ssN0 dddd", "and rd,@rs", 0, 100 "-ZS---", 9, 16, "0100 0111 0000 dddd address_src", "and rd,address_src", 0, 101 "-ZS---", 10, 16, "0100 0111 ssN0 dddd address_src", "and rd,address_src(rs)", 0, 102 "-ZS---", 7, 16, "0000 0111 0000 dddd imm16", "and rd,imm16", 0, 103 "-ZS---", 4, 16, "1000 0111 ssss dddd", "and rd,rs", 0, 104 "-ZSP--", 7, 8, "0000 0110 ssN0 dddd", "andb rbd,@rs", 0, 105 "-ZSP--", 9, 8, "0100 0110 0000 dddd address_src", "andb rbd,address_src", 0, 106 "-ZSP--", 10, 8, "0100 0110 ssN0 dddd address_src", "andb rbd,address_src(rs)", 0, 107 "-ZSP--", 7, 8, "0000 0110 0000 dddd imm8 imm8", "andb rbd,imm8", 0, 108 "-ZSP--", 4, 8, "1000 0110 ssss dddd", "andb rbd,rbs", 0, 109 110 "-Z----", 8, 16, "0010 0111 ddN0 imm4", "bit @rd,imm4", 0, 111 "-Z----", 11, 16, "0110 0111 ddN0 imm4 address_dst", "bit address_dst(rd),imm4", 0, 112 "-Z----", 10, 16, "0110 0111 0000 imm4 address_dst", "bit address_dst,imm4", 0, 113 "-Z----", 4, 16, "1010 0111 dddd imm4", "bit rd,imm4", 0, 114 "-Z----", 10, 16, "0010 0111 0000 ssss 0000 dddd 0000 0000", "bit rd,rs", 0, 115 116 "-Z----", 8, 8, "0010 0110 ddN0 imm4", "bitb @rd,imm4", 0, 117 "-Z----", 11, 8, "0110 0110 ddN0 imm4 address_dst", "bitb address_dst(rd),imm4", 0, 118 "-Z----", 10, 8, "0110 0110 0000 imm4 address_dst", "bitb address_dst,imm4", 0, 119 "-Z----", 4, 8, "1010 0110 dddd imm4", "bitb rbd,imm4", 0, 120 "-Z----", 10, 8, "0010 0110 0000 ssss 0000 dddd 0000 0000", "bitb rbd,rs", 0, 121 122 "------", 10, 32, "0001 1111 ddN0 0000", "call @rd", 0, 123 "------", 12, 32, "0101 1111 0000 0000 address_dst", "call address_dst", 0, 124 "------", 13, 32, "0101 1111 ddN0 0000 address_dst", "call address_dst(rd)", 0, 125 "------", 10, 16, "1101 disp12", "calr disp12", 0, 126 127 "------", 8, 16, "0000 1101 ddN0 1000", "clr @rd", 0, 128 "------", 11, 16, "0100 1101 0000 1000 address_dst", "clr address_dst", 0, 129 "------", 12, 16, "0100 1101 ddN0 1000 address_dst", "clr address_dst(rd)", 0, 130 "------", 7, 16, "1000 1101 dddd 1000", "clr rd", 0, 131 "------", 8, 8, "0000 1100 ddN0 1000", "clrb @rd", 0, 132 "------", 11, 8, "0100 1100 0000 1000 address_dst", "clrb address_dst", 0, 133 "------", 12, 8, "0100 1100 ddN0 1000 address_dst", "clrb address_dst(rd)", 0, 134 "------", 7, 8, "1000 1100 dddd 1000", "clrb rbd", 0, 135 "-ZS---", 12, 16, "0000 1101 ddN0 0000", "com @rd", 0, 136 "-ZS---", 15, 16, "0100 1101 0000 0000 address_dst", "com address_dst", 0, 137 "-ZS---", 16, 16, "0100 1101 ddN0 0000 address_dst", "com address_dst(rd)", 0, 138 "-ZS---", 7, 16, "1000 1101 dddd 0000", "com rd", 0, 139 "-ZSP--", 12, 8, "0000 1100 ddN0 0000", "comb @rd", 0, 140 "-ZSP--", 15, 8, "0100 1100 0000 0000 address_dst", "comb address_dst", 0, 141 "-ZSP--", 16, 8, "0100 1100 ddN0 0000 address_dst", "comb address_dst(rd)", 0, 142 "-ZSP--", 7, 8, "1000 1100 dddd 0000", "comb rbd", 0, 143 "CZSP--", 7, 16, "1000 1101 imm4 0101", "comflg flags", 0, 144 145 "CZSV--", 11, 16, "0000 1101 ddN0 0001 imm16", "cp @rd,imm16", 0, 146 "CZSV--", 15, 16, "0100 1101 ddN0 0001 address_dst imm16", "cp address_dst(rd),imm16", 0, 147 "CZSV--", 14, 16, "0100 1101 0000 0001 address_dst imm16", "cp address_dst,imm16", 0, 148 149 "CZSV--", 7, 16, "0000 1011 ssN0 dddd", "cp rd,@rs", 0, 150 "CZSV--", 9, 16, "0100 1011 0000 dddd address_src", "cp rd,address_src", 0, 151 "CZSV--", 10, 16, "0100 1011 ssN0 dddd address_src", "cp rd,address_src(rs)", 0, 152 "CZSV--", 7, 16, "0000 1011 0000 dddd imm16", "cp rd,imm16", 0, 153 "CZSV--", 4, 16, "1000 1011 ssss dddd", "cp rd,rs", 0, 154 155 "CZSV--", 11, 8, "0000 1100 ddN0 0001 imm8 imm8", "cpb @rd,imm8", 0, 156 "CZSV--", 15, 8, "0100 1100 ddN0 0001 address_dst imm8 imm8", "cpb address_dst(rd),imm8", 0, 157 "CZSV--", 14, 8, "0100 1100 0000 0001 address_dst imm8 imm8", "cpb address_dst,imm8", 0, 158 "CZSV--", 7, 8, "0000 1010 ssN0 dddd", "cpb rbd,@rs", 0, 159 "CZSV--", 9, 8, "0100 1010 0000 dddd address_src", "cpb rbd,address_src", 0, 160 "CZSV--", 10, 8, "0100 1010 ssN0 dddd address_src", "cpb rbd,address_src(rs)", 0, 161 "CZSV--", 7, 8, "0000 1010 0000 dddd imm8 imm8", "cpb rbd,imm8", 0, 162 "CZSV--", 4, 8, "1000 1010 ssss dddd", "cpb rbd,rbs", 0, 163 164 "CZSV--", 14, 32, "0001 0000 ssN0 dddd", "cpl rrd,@rs", 0, 165 "CZSV--", 15, 32, "0101 0000 0000 dddd address_src", "cpl rrd,address_src", 0, 166 "CZSV--", 16, 32, "0101 0000 ssN0 dddd address_src", "cpl rrd,address_src(rs)", 0, 167 "CZSV--", 14, 32, "0001 0000 0000 dddd imm32", "cpl rrd,imm32", 0, 168 "CZSV--", 8, 32, "1001 0000 ssss dddd", "cpl rrd,rrs", 0, 169 170 "CZS---", 5, 8, "1011 0000 dddd 0000", "dab rbd", 0, 171 "------", 11, 16, "1111 dddd 1disp7", "dbjnz rbd,disp7", 0, 172 "-ZSV--", 11, 16, "0010 1011 ddN0 imm4m1", "dec @rd,imm4m1", 0, 173 "-ZSV--", 14, 16, "0110 1011 ddN0 imm4m1 address_dst", "dec address_dst(rd),imm4m1", 0, 174 "-ZSV--", 13, 16, "0110 1011 0000 imm4m1 address_dst", "dec address_dst,imm4m1", 0, 175 "-ZSV--", 4, 16, "1010 1011 dddd imm4m1", "dec rd,imm4m1", 0, 176 "-ZSV--", 11, 8, "0010 1010 ddN0 imm4m1", "decb @rd,imm4m1", 0, 177 "-ZSV--", 14, 8, "0110 1010 ddN0 imm4m1 address_dst", "decb address_dst(rd),imm4m1", 0, 178 "-ZSV--", 13, 8, "0110 1010 0000 imm4m1 address_dst", "decb address_dst,imm4m1", 0, 179 "-ZSV--", 4, 8, "1010 1010 dddd imm4m1", "decb rbd,imm4m1", 0, 180 181 "------", 7, 16, "0111 1100 0000 00ii", "di i2", 0, 182 "CZSV--", 107, 16, "0001 1011 ssN0 dddd", "div rrd,@rs", 0, 183 "CZSV--", 107, 16, "0101 1011 0000 dddd address_src", "div rrd,address_src", 0, 184 "CZSV--", 107, 16, "0101 1011 ssN0 dddd address_src", "div rrd,address_src(rs)", 0, 185 "CZSV--", 107, 16, "0001 1011 0000 dddd imm16", "div rrd,imm16", 0, 186 "CZSV--", 107, 16, "1001 1011 ssss dddd", "div rrd,rs", 0, 187 "CZSV--", 744, 32, "0001 1010 ssN0 dddd", "divl rqd,@rs", 0, 188 "CZSV--", 745, 32, "0101 1010 0000 dddd address_src", "divl rqd,address_src", 0, 189 "CZSV--", 746, 32, "0101 1010 ssN0 dddd address_src", "divl rqd,address_src(rs)", 0, 190 "CZSV--", 744, 32, "0001 1010 0000 dddd imm32", "divl rqd,imm32", 0, 191 "CZSV--", 744, 32, "1001 1010 ssss dddd", "divl rqd,rrs", 0, 192 193 "------", 11, 16, "1111 dddd 0disp7", "djnz rd,disp7", 0, 194 "------", 7, 16, "0111 1100 0000 01ii", "ei i2", 0, 195 "------", 6, 16, "1010 1101 ssss dddd", "ex rd,rs", 0, 196 "------", 12, 16, "0010 1101 ssN0 dddd", "ex rd,@rs", 0, 197 "------", 15, 16, "0110 1101 0000 dddd address_src", "ex rd,address_src", 0, 198 "------", 16, 16, "0110 1101 ssN0 dddd address_src", "ex rd,address_src(rs)", 0, 199 200 "------", 12, 8, "0010 1100 ssN0 dddd", "exb rbd,@rs", 0, 201 "------", 15, 8, "0110 1100 0000 dddd address_src", "exb rbd,address_src", 0, 202 "------", 16, 8, "0110 1100 ssN0 dddd address_src", "exb rbd,address_src(rs)", 0, 203 "------", 6, 8, "1010 1100 ssss dddd", "exb rbd,rbs", 0, 204 205 "------", 11, 16, "1011 0001 dddd 1010", "exts rrd", 0, 206 "------", 11, 8, "1011 0001 dddd 0000", "extsb rd", 0, 207 "------", 11, 32, "1011 0001 dddd 0111", "extsl rqd", 0, 208 209 "------", 8, 16, "0111 1010 0000 0000", "halt", 0, 210 "------", 10, 16, "0011 1101 ssN0 dddd", "in rd,@rs", 0, 211 "------", 12, 16, "0011 1101 dddd 0100 imm16", "in rd,imm16", 0, 212 "------", 12, 8, "0011 1100 ssN0 dddd", "inb rbd,@rs", 0, 213 "------", 10, 8, "0011 1100 dddd 0100 imm16", "inb rbd,imm16", 0, 214 "-ZSV--", 11, 16, "0010 1001 ddN0 imm4m1", "inc @rd,imm4m1", 0, 215 "-ZSV--", 14, 16, "0110 1001 ddN0 imm4m1 address_dst", "inc address_dst(rd),imm4m1", 0, 216 "-ZSV--", 13, 16, "0110 1001 0000 imm4m1 address_dst", "inc address_dst,imm4m1", 0, 217 "-ZSV--", 4, 16, "1010 1001 dddd imm4m1", "inc rd,imm4m1", 0, 218 "-ZSV--", 11, 8, "0010 1000 ddN0 imm4m1", "incb @rd,imm4m1", 0, 219 "-ZSV--", 14, 8, "0110 1000 ddN0 imm4m1 address_dst", "incb address_dst(rd),imm4m1", 0, 220 "-ZSV--", 13, 8, "0110 1000 0000 imm4m1 address_dst", "incb address_dst,imm4m1", 0, 221 "-ZSV--", 4, 8, "1010 1000 dddd imm4m1", "incb rbd,imm4m1", 0, 222 "---V--", 21, 16, "0011 1011 ssN0 1000 0000 aaaa ddN0 1000", "ind @rd,@rs,ra", 0, 223 "---V--", 21, 8, "0011 1010 ssN0 1000 0000 aaaa ddN0 1000", "indb @rd,@rs,rba", 0, 224 "---V--", 21, 8, "0011 1100 ssN0 0000 0000 aaaa ddN0 1000", "inib @rd,@rs,ra", 0, 225 "---V--", 21, 16, "0011 1100 ssN0 0000 0000 aaaa ddN0 0000", "inibr @rd,@rs,ra", 0, 226 "CZSVDH", 13, 16, "0111 1011 0000 0000", "iret", 0, 227 "------", 10, 16, "0001 1110 ddN0 cccc", "jp cc,@rd", 0, 228 "------", 7, 16, "0101 1110 0000 cccc address_dst", "jp cc,address_dst", 0, 229 "------", 8, 16, "0101 1110 ddN0 cccc address_dst", "jp cc,address_dst(rd)", 0, 230 "------", 6, 16, "1110 cccc disp8", "jr cc,disp8", 0, 231 232 "------", 7, 16, "0000 1101 ddN0 0101 imm16", "ld @rd,imm16", 0, 233 "------", 8, 16, "0010 1111 ddN0 ssss", "ld @rd,rs", 0, 234 "------", 15, 16, "0100 1101 ddN0 0101 address_dst imm16", "ld address_dst(rd),imm16", 0, 235 "------", 12, 16, "0110 1111 ddN0 ssss address_dst", "ld address_dst(rd),rs", 0, 236 "------", 14, 16, "0100 1101 0000 0101 address_dst imm16", "ld address_dst,imm16", 0, 237 "------", 11, 16, "0110 1111 0000 ssss address_dst", "ld address_dst,rs", 0, 238 "------", 14, 16, "0011 0011 ddN0 ssss imm16", "ld rd(imm16),rs", 0, 239 "------", 14, 16, "0111 0011 ddN0 ssss 0000 xxxx 0000 0000", "ld rd(rx),rs", 0, 240 "------", 7, 16, "0010 0001 ssN0 dddd", "ld rd,@rs", 0, 241 "------", 9, 16, "0110 0001 0000 dddd address_src", "ld rd,address_src", 0, 242 "------", 10, 16, "0110 0001 ssN0 dddd address_src", "ld rd,address_src(rs)", 0, 243 "------", 7, 16, "0010 0001 0000 dddd imm16", "ld rd,imm16", 0, 244 "------", 3, 16, "1010 0001 ssss dddd", "ld rd,rs", 0, 245 "------", 14, 16, "0011 0001 ssN0 dddd imm16", "ld rd,rs(imm16)", 0, 246 "------", 14, 16, "0111 0001 ssN0 dddd 0000 xxxx 0000 0000", "ld rd,rs(rx)", 0, 247 248 "------", 7, 8, "0000 1100 ddN0 0101 imm8 imm8", "ldb @rd,imm8", 0, 249 "------", 8, 8, "0010 1110 ddN0 ssss", "ldb @rd,rbs", 0, 250 "------", 15, 8, "0100 1100 ddN0 0101 address_dst imm8 imm8", "ldb address_dst(rd),imm8", 0, 251 "------", 12, 8, "0100 1110 ddN0 ssN0 address_dst", "ldb address_dst(rd),rbs", 0, 252 "------", 14, 8, "0100 1100 0000 0101 address_dst imm8 imm8", "ldb address_dst,imm8", 0, 253 "------", 11, 8, "0110 1110 0000 ssss address_dst", "ldb address_dst,rbs", 0, 254 "------", 14, 8, "0011 0010 ddN0 ssss imm16", "ldb rd(imm16),rbs", 0, 255 "------", 14, 8, "0111 0010 ddN0 ssss 0000 xxxx 0000 0000", "ldb rd(rx),rbs", 0, 256 "------", 7, 8, "0010 0000 ssN0 dddd", "ldb rbd,@rs", 0, 257 "------", 9, 8, "0110 0000 0000 dddd address_src", "ldb rbd,address_src", 0, 258 "------", 10, 8, "0110 0000 ssN0 dddd address_src", "ldb rbd,address_src(rs)", 0, 259 "------", 5, 8, "1100 dddd imm8", "ldb rbd,imm8", 0, 260 "------", 3, 8, "1010 0000 ssss dddd", "ldb rbd,rbs", 0, 261 "------", 14, 8, "0011 0000 ssN0 dddd imm16", "ldb rbd,rs(imm16)", 0, 262 "------", 14, 8, "0111 0000 ssN0 dddd 0000 xxxx 0000 0000", "ldb rbd,rs(rx)", 0, 263 264 "------", 11, 32, "0001 1101 ddN0 ssss", "ldl @rd,rrs", 0, 265 "------", 14, 32, "0101 1101 ddN0 ssss address_dst", "ldl address_dst(rd),rrs", 0, 266 "------", 15, 32, "0101 1101 0000 ssss address_dst", "ldl address_dst,rrs", 0, 267 "------", 17, 32, "0011 0111 ddN0 ssss imm16", "ldl rd(imm16),rrs", 0, 268 "------", 17, 32, "0111 0111 ddN0 ssss 0000 xxxx 0000 0000", "ldl rd(rx),rrs", 0, 269 "------", 11, 32, "0001 0100 ssN0 dddd", "ldl rrd,@rs", 0, 270 "------", 12, 32, "0101 0100 0000 dddd address_src", "ldl rrd,address_src", 0, 271 "------", 13, 32, "0101 0100 ssN0 dddd address_src", "ldl rrd,address_src(rs)", 0, 272 "------", 11, 32, "0001 0100 0000 dddd imm32", "ldl rrd,imm32", 0, 273 "------", 5, 32, "1001 0100 ssss dddd", "ldl rrd,rrs", 0, 274 "------", 17, 32, "0011 0101 ssN0 dddd imm16", "ldl rrd,rs(imm16)", 0, 275 "------", 17, 32, "0111 0101 ssN0 dddd 0000 xxxx 0000 0000", "ldl rrd,rs(rx)", 0, 276 277 "------", 12, 16, "0111 0110 0000 dddd address_src", "lda prd,address_src", 0, 278 "------", 13, 16, "0111 0110 ssN0 dddd address_src", "lda prd,address_src(rs)", 0, 279 "------", 15, 16, "0011 0100 ssN0 dddd imm16", "lda prd,rs(imm16)", 0, 280 "------", 15, 16, "0111 0100 ssN0 dddd 0000 xxxx 0000 0000", "lda prd,rs(rx)", 0, 281 "------", 15, 16, "0011 0100 0000 dddd disp16", "ldar prd,disp16", 0, 282 "------", 7, 32, "0111 1101 ssss 1ccc", "ldctl ctrl,rs", 0, 283 "------", 7, 32, "0111 1101 dddd 0ccc", "ldctl rd,ctrl", 0, 284 285 "------", 5, 16, "1011 1101 dddd imm4", "ldk rd,imm4", 0, 286 287 "------", 11, 16, "0001 1100 ddN0 1001 0000 ssss 0000 nminus1", "ldm @rd,rs,n", 0, 288 "------", 15, 16, "0101 1100 ddN0 1001 0000 ssN0 0000 nminus1 address_dst", "ldm address_dst(rd),rs,n", 0, 289 "------", 14, 16, "0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst", "ldm address_dst,rs,n", 0, 290 "------", 11, 16, "0001 1100 ssN0 0001 0000 dddd 0000 nminus1", "ldm rd,@rs,n", 0, 291 "------", 15, 16, "0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src", "ldm rd,address_src(rs),n", 0, 292 "------", 14, 16, "0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src", "ldm rd,address_src,n", 0, 293 294 "CZSVDH", 12, 16, "0011 1001 ssN0 0000", "ldps @rs", 0, 295 "CZSVDH", 16, 16, "0111 1001 0000 0000 address_src", "ldps address_src", 0, 296 "CZSVDH", 17, 16, "0111 1001 ssN0 0000 address_src", "ldps address_src(rs)", 0, 297 298 "------", 14, 16, "0011 0011 0000 ssss disp16", "ldr disp16,rs", 0, 299 "------", 14, 16, "0011 0001 0000 dddd disp16", "ldr rd,disp16", 0, 300 "------", 14, 8, "0011 0010 0000 ssss disp16", "ldrb disp16,rbs", 0, 301 "------", 14, 8, "0011 0000 0000 dddd disp16", "ldrb rbd,disp16", 0, 302 "------", 17, 32, "0011 0111 0000 ssss disp16", "ldrl disp16,rrs", 0, 303 "------", 17, 32, "0011 0101 0000 dddd disp16", "ldrl rrd,disp16", 0, 304 305 "CZS---", 7, 16, "0111 1011 0000 1010", "mbit", 0, 306 "-ZS---", 12, 16, "0111 1011 dddd 1101", "mreq rd", 0, 307 "------", 5, 16, "0111 1011 0000 1001", "mres", 0, 308 "------", 5, 16, "0111 1011 0000 1000", "mset", 0, 309 310 "CZSV--", 70, 16, "0001 1001 ssN0 dddd", "mult rrd,@rs", 0, 311 "CZSV--", 70, 16, "0101 1001 0000 dddd address_src", "mult rrd,address_src", 0, 312 "CZSV--", 70, 16, "0101 1001 ssN0 dddd address_src", "mult rrd,address_src(rs)", 0, 313 "CZSV--", 70, 16, "0001 1001 0000 dddd imm16", "mult rrd,imm16", 0, 314 "CZSV--", 70, 16, "1001 1001 ssss dddd", "mult rrd,rs", 0, 315 "CZSV--", 282, 32, "0001 1000 ssN0 dddd", "multl rqd,@rs", 0, 316 "CZSV--", 282, 32, "0101 1000 0000 dddd address_src", "multl rqd,address_src", 0, 317 "CZSV--", 282, 32, "0101 1000 ssN0 dddd address_src", "multl rqd,address_src(rs)", 0, 318 "CZSV--", 282, 32, "0001 1000 0000 dddd imm32", "multl rqd,imm32", 0, 319 "CZSV--", 282, 32, "1001 1000 ssss dddd", "multl rqd,rrs", 0, 320 "CZSV--", 12, 16, "0000 1101 ddN0 0010", "neg @rd", 0, 321 "CZSV--", 15, 16, "0100 1101 0000 0010 address_dst", "neg address_dst", 0, 322 "CZSV--", 16, 16, "0100 1101 ddN0 0010 address_dst", "neg address_dst(rd)", 0, 323 "CZSV--", 7, 16, "1000 1101 dddd 0010", "neg rd", 0, 324 "CZSV--", 12, 8, "0000 1100 ddN0 0010", "negb @rd", 0, 325 "CZSV--", 15, 8, "0100 1100 0000 0010 address_dst", "negb address_dst", 0, 326 "CZSV--", 16, 8, "0100 1100 ddN0 0010 address_dst", "negb address_dst(rd)", 0, 327 "CZSV--", 7, 8, "1000 1100 dddd 0010", "negb rbd", 0, 328 329 "------", 7, 16, "1000 1101 0000 0111", "nop", 0, 330 331 "CZS---", 7, 16, "0000 0101 ssN0 dddd", "or rd,@rs", 0, 332 "CZS---", 9, 16, "0100 0101 0000 dddd address_src", "or rd,address_src", 0, 333 "CZS---", 10, 16, "0100 0101 ssN0 dddd address_src", "or rd,address_src(rs)", 0, 334 "CZS---", 7, 16, "0000 0101 0000 dddd imm16", "or rd,imm16", 0, 335 "CZS---", 4, 16, "1000 0101 ssss dddd", "or rd,rs", 0, 336 337 "CZSP--", 7, 8, "0000 0100 ssN0 dddd", "orb rbd,@rs", 0, 338 "CZSP--", 9, 8, "0100 0100 0000 dddd address_src", "orb rbd,address_src", 0, 339 "CZSP--", 10, 8, "0100 0100 ssN0 dddd address_src", "orb rbd,address_src(rs)", 0, 340 "CZSP--", 7, 8, "0000 0100 0000 dddd imm8 imm8", "orb rbd,imm8", 0, 341 "CZSP--", 4, 8, "1000 0100 ssss dddd", "orb rbd,rbs", 0, 342 343 "---V--", 0, 16, "0011 1111 ddN0 ssss", "out @rd,rs", 0, 344 "---V--", 0, 16, "0011 1011 ssss 0110 imm16", "out imm16,rs", 0, 345 "---V--", 0, 8, "0011 1110 ddN0 ssss", "outb @rd,rbs", 0, 346 "---V--", 0, 8, "0011 1010 ssss 0110 imm16", "outb imm16,rbs", 0, 347 "---V--", 0, 16, "0011 1011 ssN0 1010 0000 aaaa ddN0 1000", "outd @rd,@rs,ra", 0, 348 "---V--", 0, 8, "0011 1010 ssN0 1010 0000 aaaa ddN0 1000", "outdb @rd,@rs,rba", 0, 349 "---V--", 0, 8, "0011 1100 ssN0 0010 0000 aaaa ddN0 1000", "outib @rd,@rs,ra", 0, 350 "---V--", 0, 16, "0011 1100 ssN0 0010 0000 aaaa ddN0 0000", "outibr @rd,@rs,ra", 0, 351 352 "------", 12, 16, "0001 0111 ssN0 ddN0", "pop @rd,@rs", 0, 353 "------", 16, 16, "0101 0111 ssN0 ddN0 address_dst", "pop address_dst(rd),@rs", 0, 354 "------", 16, 16, "0101 0111 ssN0 0000 address_dst", "pop address_dst,@rs", 0, 355 "------", 8, 16, "1001 0111 ssN0 dddd", "pop rd,@rs", 0, 356 357 "------", 19, 32, "0001 0101 ssN0 ddN0", "popl @rd,@rs", 0, 358 "------", 23, 32, "0101 0101 ssN0 ddN0 address_dst", "popl address_dst(rd),@rs", 0, 359 "------", 23, 32, "0101 0101 ssN0 0000 address_dst", "popl address_dst,@rs", 0, 360 "------", 12, 32, "1001 0101 ssN0 dddd", "popl rrd,@rs", 0, 361 362 "------", 13, 16, "0001 0011 ddN0 ssN0", "push @rd,@rs", 0, 363 "------", 14, 16, "0101 0011 ddN0 0000 address_src", "push @rd,address_src", 0, 364 "------", 14, 16, "0101 0011 ddN0 ssN0 address_src", "push @rd,address_src(rs)", 0, 365 "------", 12, 16, "0000 1101 ddN0 1001 imm16", "push @rd,imm16", 0, 366 "------", 9, 16, "1001 0011 ddN0 ssss", "push @rd,rs", 0, 367 368 "------", 20, 32, "0001 0001 ddN0 ssN0", "pushl @rd,@rs", 0, 369 "------", 21, 32, "0101 0001 ddN0 ssN0 address_src", "pushl @rd,address_src(rs)", 0, 370 "------", 21, 32, "0101 0001 ddN0 0000 address_src", "pushl @rd,address_src", 0, 371 "------", 12, 32, "1001 0001 ddN0 ssss", "pushl @rd,rrs", 0, 372 373 "------", 11, 16, "0010 0011 ddN0 imm4", "res @rd,imm4", 0, 374 "------", 14, 16, "0110 0011 ddN0 imm4 address_dst", "res address_dst(rd),imm4", 0, 375 "------", 13, 16, "0110 0011 0000 imm4 address_dst", "res address_dst,imm4", 0, 376 "------", 4, 16, "1010 0011 dddd imm4", "res rd,imm4", 0, 377 "------", 10, 16, "0010 0011 0000 ssss 0000 dddd 0000 0000", "res rd,rs", 0, 378 379 "------", 11, 8, "0010 0010 ddN0 imm4", "resb @rd,imm4", 0, 380 "------", 14, 8, "0110 0010 ddN0 imm4 address_dst", "resb address_dst(rd),imm4", 0, 381 "------", 13, 8, "0110 0010 0000 imm4 address_dst", "resb address_dst,imm4", 0, 382 "------", 4, 8, "1010 0010 dddd imm4", "resb rbd,imm4", 0, 383 "------", 10, 8, "0010 0010 0000 ssss 0000 dddd 0000 0000", "resb rbd,rs", 0, 384 385 "CZSV--", 7, 16, "1000 1101 imm4 0011", "resflg imm4", 0, 386 "------", 10, 16, "1001 1110 0000 cccc", "ret cc", 0, 387 388 "CZSV--", 6, 16, "1011 0011 dddd 00I0", "rl rd,imm1or2", 0, 389 "CZSV--", 6, 8, "1011 0010 dddd 00I0", "rlb rbd,imm1or2", 0, 390 "CZSV--", 6, 16, "1011 0011 dddd 10I0", "rlc rd,imm1or2", 0, 391 392 "-Z----", 9, 8, "1011 0010 dddd 10I0", "rlcb rbd,imm1or2", 0, 393 "-Z----", 9, 8, "1011 1110 aaaa bbbb", "rldb rbb,rba", 0, 394 395 "CZSV--", 6, 16, "1011 0011 dddd 01I0", "rr rd,imm1or2", 0, 396 "CZSV--", 6, 8, "1011 0010 dddd 01I0", "rrb rbd,imm1or2", 0, 397 "CZSV--", 6, 16, "1011 0011 dddd 11I0", "rrc rd,imm1or2", 0, 398 399 "-Z----", 9, 8, "1011 0010 dddd 11I0", "rrcb rbd,imm1or2", 0, 400 "-Z----", 9, 8, "1011 1100 aaaa bbbb", "rrdb rbb,rba", 0, 401 "CZSV--", 5, 16, "1011 0111 ssss dddd", "sbc rd,rs", 0, 402 "CZSVDH", 5, 8, "1011 0110 ssss dddd", "sbcb rbd,rbs", 0, 403 404 "CZSVDH", 33, 8, "0111 1111 imm8", "sc imm8", 0, 405 406 "CZSV--", 15, 16, "1011 0011 dddd 1011 0000 ssss 0000 0000", "sda rd,rs", 0, 407 "CZSV--", 15, 8, "1011 0010 dddd 1011 0000 ssss 0000 0000", "sdab rbd,rs", 0, 408 "CZSV--", 15, 32, "1011 0011 dddd 1111 0000 ssss 0000 0000", "sdal rrd,rs", 0, 409 410 "CZS---", 15, 16, "1011 0011 dddd 0011 0000 ssss 0000 0000", "sdl rd,rs", 0, 411 "CZS---", 15, 8, "1011 0010 dddd 0011 0000 ssss 0000 0000", "sdlb rbd,rs", 0, 412 "CZS---", 15, 32, "1011 0011 dddd 0111 0000 ssss 0000 0000", "sdll rrd,rs", 0, 413 414 "------", 11, 16, "0010 0101 ddN0 imm4", "set @rd,imm4", 0, 415 "------", 14, 16, "0110 0101 ddN0 imm4 address_dst", "set address_dst(rd),imm4", 0, 416 "------", 13, 16, "0110 0101 0000 imm4 address_dst", "set address_dst,imm4", 0, 417 "------", 4, 16, "1010 0101 dddd imm4", "set rd,imm4", 0, 418 "------", 10, 16, "0010 0101 0000 ssss 0000 dddd 0000 0000", "set rd,rs", 0, 419 "------", 11, 8, "0010 0100 ddN0 imm4", "setb @rd,imm4", 0, 420 "------", 14, 8, "0110 0100 ddN0 imm4 address_dst", "setb address_dst(rd),imm4", 0, 421 "------", 13, 8, "0110 0100 0000 imm4 address_dst", "setb address_dst,imm4", 0, 422 "------", 4, 8, "1010 0100 dddd imm4", "setb rbd,imm4", 0, 423 "------", 10, 8, "0010 0100 0000 ssss 0000 dddd 0000 0000", "setb rbd,rs", 0, 424 425 "CZSV--", 7, 16, "1000 1101 imm4 0001", "setflg imm4", 0, 426 427 "------", 0, 8, "0011 1100 dddd 0101 imm16", "sinb rbd,imm16", 0, 428 "------", 0, 8, "0011 1101 dddd 0101 imm16", "sinb rd,imm16", 0, 429 "------", 0, 16, "0011 1011 ssN0 1000 0001 aaaa ddN0 1000", "sind @rd,@rs,ra", 0, 430 "------", 0, 8, "0011 1010 ssN0 1000 0001 aaaa ddN0 1000", "sindb @rd,@rs,rba", 0, 431 "------", 0, 8, "0011 1100 ssN0 0001 0000 aaaa ddN0 1000", "sinib @rd,@rs,ra", 0, 432 "------", 0, 16, "0011 1100 ssN0 0001 0000 aaaa ddN0 0000", "sinibr @rd,@rs,ra", 0, 433 434 "CZSV--", 13, 16, "1011 0011 dddd 1001 0000 0000 imm8", "sla rd,imm8", 0, 435 "CZSV--", 13, 8, "1011 0010 dddd 1001 0000 0000 imm8", "slab rbd,imm8", 0, 436 "CZSV--", 13, 32, "1011 0011 dddd 1101 0000 0000 imm8", "slal rrd,imm8", 0, 437 438 "CZS---", 13, 16, "1011 0011 dddd 0001 0000 0000 imm8", "sll rd,imm8", 0, 439 "CZS---", 13, 8, "1011 0010 dddd 0001 0000 0000 imm8", "sllb rbd,imm8", 0, 440 "CZS---", 13, 32, "1011 0011 dddd 0101 0000 0000 imm8", "slll rrd,imm8", 0, 441 442 "------", 0, 16, "0011 1011 ssss 0111 imm16", "sout imm16,rs", 0, 443 "------", 0, 8, "0011 1010 ssss 0111 imm16", "soutb imm16,rbs", 0, 444 "------", 0, 16, "0011 1011 ssN0 1011 0000 aaaa ddN0 1000", "soutd @rd,@rs,ra", 0, 445 "------", 0, 8, "0011 1010 ssN0 1011 0000 aaaa ddN0 1000", "soutdb @rd,@rs,rba", 0, 446 "------", 0, 8, "0011 1100 ssN0 0011 0000 aaaa ddN0 1000", "soutib @rd,@rs,ra", 0, 447 "------", 0, 16, "0011 1100 ssN0 0011 0000 aaaa ddN0 0000", "soutibr @rd,@rs,ra", 0, 448 449 "CZSV--", 13, 16, "1011 0011 dddd 1001 1111 1111 nim8", "sra rd,imm8", 0, 450 "CZSV--", 13, 8, "1011 0010 dddd 1001 1111 1111 nim8", "srab rbd,imm8", 0, 451 "CZSV--", 13, 32, "1011 0011 dddd 1101 1111 1111 nim8", "sral rrd,imm8", 0, 452 453 "CZSV--", 13, 16, "1011 0011 dddd 0001 1111 1111 nim8", "srl rd,imm8", 0, 454 "CZSV--", 13, 8, "1011 0010 dddd 0001 1111 1111 nim8", "srlb rbd,imm8", 0, 455 "CZSV--", 13, 32, "1011 0011 dddd 0101 1111 1111 nim8", "srll rrd,imm8", 0, 456 457 "CZSV--", 7, 16, "0000 0011 ssN0 dddd", "sub rd,@rs", 0, 458 "CZSV--", 9, 16, "0100 0011 0000 dddd address_src", "sub rd,address_src", 0, 459 "CZSV--", 10, 16, "0100 0011 ssN0 dddd address_src", "sub rd,address_src(rs)", 0, 460 "CZSV--", 7, 16, "0000 0010 0000 dddd imm16", "sub rd,imm16", 0, 461 "CZSV--", 4, 16, "1000 0011 ssss dddd", "sub rd,rs", 0, 462 463 "CZSVDH", 7, 8, "0000 0010 ssN0 dddd", "subb rbd,@rs", 0, 464 "CZSVDH", 9, 8, "0100 0010 0000 dddd address_src", "subb rbd,address_src", 0, 465 "CZSVDH", 10, 8, "0100 0010 ssN0 dddd address_src", "subb rbd,address_src(rs)", 0, 466 "CZSVDH", 7, 8, "0000 0010 0000 dddd imm8 imm8", "subb rbd,imm8", 0, 467 "CZSVDH", 4, 8, "1000 0010 ssss dddd", "subb rbd,rbs", 0, 468 469 "CZSV--", 14, 32, "0001 0010 ssN0 dddd", "subl rrd,@rs", 0, 470 "CZSV--", 15, 32, "0101 0010 0000 dddd address_src", "subl rrd,address_src", 0, 471 "CZSV--", 16, 32, "0101 0010 ssN0 dddd address_src", "subl rrd,address_src(rs)", 0, 472 "CZSV--", 14, 32, "0001 0010 0000 dddd imm32", "subl rrd,imm32", 0, 473 "CZSV--", 8, 32, "1001 0010 ssss dddd", "subl rrd,rrs", 0, 474 475 "------", 5, 16, "1010 1111 dddd cccc", "tcc cc,rd", 0, 476 "------", 5, 8, "1010 1110 dddd cccc", "tccb cc,rbd", 0, 477 478 "-ZS---", 8, 16, "0000 1101 ddN0 0100", "test @rd", 0, 479 "------", 11, 16, "0100 1101 0000 0100 address_dst", "test address_dst", 0, 480 "------", 12, 16, "0100 1101 ddN0 0100 address_dst", "test address_dst(rd)", 0, 481 "------", 7, 16, "1000 1101 dddd 0100", "test rd", 0, 482 483 "-ZSP--", 8, 8, "0000 1100 ddN0 0100", "testb @rd", 0, 484 "-ZSP--", 11, 8, "0100 1100 0000 0100 address_dst", "testb address_dst", 0, 485 "-ZSP--", 12, 8, "0100 1100 ddN0 0100 address_dst", "testb address_dst(rd)", 0, 486 "-ZSP--", 7, 8, "1000 1100 dddd 0100", "testb rbd", 0, 487 488 "-ZS---", 13, 32, "0001 1100 ddN0 1000", "testl @rd", 0, 489 "-ZS---", 16, 32, "0101 1100 0000 1000 address_dst", "testl address_dst", 0, 490 "-ZS---", 17, 32, "0101 1100 ddN0 1000 address_dst", "testl address_dst(rd)", 0, 491 "-ZS---", 13, 32, "1001 1100 dddd 1000", "testl rrd", 0, 492 493 "-ZSV--", 25, 8, "1011 1000 ddN0 1000 0000 aaaa ssN0 0000", "trdb @rd,@rs,rba", 0, 494 "-ZSV--", 25, 8, "1011 1000 ddN0 1100 0000 aaaa ssN0 0000", "trdrb @rd,@rs,rba", 0, 495 "-ZSV--", 25, 8, "1011 1000 ddN0 0000 0000 rrrr ssN0 0000", "trib @rd,@rs,rbr", 0, 496 "-ZSV--", 25, 8, "1011 1000 ddN0 0100 0000 rrrr ssN0 0000", "trirb @rd,@rs,rbr", 0, 497 "-ZSV--", 25, 8, "1011 1000 aaN0 1110 0000 rrrr bbN0 1110", "trtdrb @ra,@rb,rbr", 0, 498 "-ZSV--", 25, 8, "1011 1000 aaN0 0010 0000 rrrr bbN0 0000", "trtib @ra,@rb,rr", 0, 499 "-ZSV--", 25, 8, "1011 1000 aaN0 0110 0000 rrrr bbN0 1110", "trtirb @ra,@rb,rbr", 0, 500 "-ZSV--", 25, 8, "1011 1000 aaN0 1010 0000 rrrr bbN0 0000", "trtrb @ra,@rb,rbr", 0, 501 502 "--S---", 11, 16, "0000 1101 ddN0 0110", "tset @rd", 0, 503 "--S---", 14, 16, "0100 1101 0000 0110 address_dst", "tset address_dst", 0, 504 "--S---", 15, 16, "0100 1101 ddN0 0110 address_dst", "tset address_dst(rd)", 0, 505 "--S---", 7, 16, "1000 1101 dddd 0110", "tset rd", 0, 506 507 "--S---", 11, 8, "0000 1100 ddN0 0110", "tsetb @rd", 0, 508 "--S---", 14, 8, "0100 1100 0000 0110 address_dst", "tsetb address_dst", 0, 509 "--S---", 15, 8, "0100 1100 ddN0 0110 address_dst", "tsetb address_dst(rd)", 0, 510 "--S---", 7, 8, "1000 1100 dddd 0110", "tsetb rbd", 0, 511 512 "-ZS---", 7, 16, "0000 1001 ssN0 dddd", "xor rd,@rs", 0, 513 "-ZS---", 9, 16, "0100 1001 0000 dddd address_src", "xor rd,address_src", 0, 514 "-ZS---", 10, 16, "0100 1001 ssN0 dddd address_src", "xor rd,address_src(rs)", 0, 515 "-ZS---", 7, 16, "0000 1001 0000 dddd imm16", "xor rd,imm16", 0, 516 "-ZS---", 4, 16, "1000 1001 ssss dddd", "xor rd,rs", 0, 517 518 "-ZSP--", 7, 8, "0000 1000 ssN0 dddd", "xorb rbd,@rs", 0, 519 "-ZSP--", 9, 8, "0100 1000 0000 dddd address_src", "xorb rbd,address_src", 0, 520 "-ZSP--", 10, 8, "0100 1000 ssN0 dddd address_src", "xorb rbd,address_src(rs)", 0, 521 "-ZSP--", 7, 8, "0000 1000 0000 dddd imm8 imm8", "xorb rbd,imm8", 0, 522 "-ZSP--", 4, 8, "1000 1000 ssss dddd", "xorb rbd,rbs", 0, 523 "*", 4, 8, "1000 1000 ssss dddd", "xorb rbd,rbs", 0, 524 "*", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 41 {"------", 10, 8, "0000 1110 imm8", "ext0e imm8", 0}, 42 {"------", 10, 8, "0000 1111 imm8", "ext0f imm8", 0}, 43 {"------", 10, 8, "1000 1110 imm8", "ext8e imm8", 0}, 44 {"------", 10, 8, "1000 1111 imm8", "ext8f imm8", 0}, 45 46 {"------", 10, 8, "0011 0110 imm8", "rsvd36", 0}, 47 {"------", 10, 8, "0011 1000 imm8", "rsvd38", 0}, 48 {"------", 10, 8, "0111 1000 imm8", "rsvd78", 0}, 49 {"------", 10, 8, "0111 1110 imm8", "rsvd7e", 0}, 50 51 {"------", 10, 8, "1001 1101 imm8", "rsvd9d", 0}, 52 {"------", 10, 8, "1001 1111 imm8", "rsvd9f", 0}, 53 54 {"------", 10, 8, "1011 1001 imm8", "rsvdb9", 0}, 55 {"------", 10, 8, "1011 1111 imm8", "rsvdbf", 0}, 56 57 {"---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 1000", "ldd @rd,@rs,rr", 0}, 58 {"---V--", 11, 16, "1011 1011 ssN0 1001 0000 rrrr ddN0 0000", "lddr @rd,@rs,rr", 0}, 59 {"---V--", 11, 8, "1011 1010 ssN0 1001 0000 rrrr ddN0 0000", "lddrb @rd,@rs,rr", 0}, 60 {"---V--", 11, 16, "1011 1011 ssN0 0001 0000 rrrr ddN0 0000", "ldir @rd,@rs,rr", 0}, 61 {"CZSV--", 11, 16, "1011 1011 ssN0 0000 0000 rrrr dddd cccc", "cpi rd,@rs,rr,cc", 0}, 62 {"CZSV--", 11, 16, "1011 1011 ssN0 0100 0000 rrrr dddd cccc", "cpir rd,@rs,rr,cc", 0}, 63 {"CZSV--", 11, 16, "1011 1011 ssN0 1100 0000 rrrr dddd cccc", "cpdr rd,@rs,rr,cc", 0}, 64 {"---V--", 11, 16, "1011 1011 ssN0 0001 0000 rrrr ddN0 1000", "ldi @rd,@rs,rr", 0}, 65 {"CZSV--", 11, 16, "1011 1011 ssN0 1000 0000 rrrr dddd cccc", "cpd rd,@rs,rr,cc", 0}, 66 {"---V--", 11, 8, "1011 1010 ssN0 0001 0000 rrrr ddN0 0000", "ldirb @rd,@rs,rr", 0}, 67 {"---V--", 11, 8, "1011 1010 ssN0 1001 0000 rrrr ddN0 1000", "lddb @rd,@rs,rr", 0}, 68 {"---V--", 11, 8, "1011 1010 ssN0 0001 0000 rrrr ddN0 1000", "ldib @rd,@rs,rr", 0}, 69 {"CZSV--", 11, 8, "1011 1010 ssN0 1000 0000 rrrr dddd cccc", "cpdb rbd,@rs,rr,cc", 0}, 70 {"CZSV--", 11, 8, "1011 1010 ssN0 1100 0000 rrrr dddd cccc", "cpdrb rbd,@rs,rr,cc", 0}, 71 {"CZSV--", 11, 8, "1011 1010 ssN0 0000 0000 rrrr dddd cccc", "cpib rbd,@rs,rr,cc", 0}, 72 {"CZSV--", 11, 8, "1011 1010 ssN0 0100 0000 rrrr dddd cccc", "cpirb rbd,@rs,rr,cc", 0}, 73 {"CZSV--", 11, 16, "1011 1011 ssN0 1010 0000 rrrr ddN0 cccc", "cpsd @rd,@rs,rr,cc", 0}, 74 {"CZSV--", 11, 8, "1011 1010 ssN0 1010 0000 rrrr ddN0 cccc", "cpsdb @rd,@rs,rr,cc", 0}, 75 {"CZSV--", 11, 16, "1011 1011 ssN0 1110 0000 rrrr ddN0 cccc", "cpsdr @rd,@rs,rr,cc", 0}, 76 {"CZSV--", 11, 8, "1011 1010 ssN0 1110 0000 rrrr ddN0 cccc", "cpsdrb @rd,@rs,rr,cc", 0}, 77 {"CZSV--", 11, 16, "1011 1011 ssN0 0010 0000 rrrr ddN0 cccc", "cpsi @rd,@rs,rr,cc", 0}, 78 {"CZSV--", 11, 8, "1011 1010 ssN0 0010 0000 rrrr ddN0 cccc", "cpsib @rd,@rs,rr,cc", 0}, 79 {"CZSV--", 11, 16, "1011 1011 ssN0 0110 0000 rrrr ddN0 cccc", "cpsir @rd,@rs,rr,cc", 0}, 80 {"CZSV--", 11, 8, "1011 1010 ssN0 0110 0000 rrrr ddN0 cccc", "cpsirb @rd,@rs,rr,cc", 0}, 81 82 {"------", 2, 8, "0011 0110 0000 0000", "bpt", 0}, 83 {"CZSV--", 5, 16, "1011 0101 ssss dddd", "adc rd,rs", 0}, 84 {"CZSVDH", 5, 8, "1011 0100 ssss dddd", "adcb rbd,rbs", 0}, 85 {"CZSV--", 7, 16, "0000 0001 ssN0 dddd", "add rd,@rs", 0}, 86 {"CZSV--", 9, 16, "0100 0001 0000 dddd address_src", "add rd,address_src", 0}, 87 {"CZSV--", 10, 16, "0100 0001 ssN0 dddd address_src", "add rd,address_src(rs)", 0}, 88 {"CZSV--", 7, 16, "0000 0001 0000 dddd imm16", "add rd,imm16", 0}, 89 {"CZSV--", 4, 16, "1000 0001 ssss dddd", "add rd,rs", 0}, 90 {"CZSVDH", 7, 8, "0000 0000 ssN0 dddd", "addb rbd,@rs", 0}, 91 {"CZSVDH", 9, 8, "0100 0000 0000 dddd address_src", "addb rbd,address_src", 0}, 92 {"CZSVDH", 10, 8, "0100 0000 ssN0 dddd address_src", "addb rbd,address_src(rs)", 0}, 93 {"CZSVDH", 7, 8, "0000 0000 0000 dddd imm8 imm8", "addb rbd,imm8", 0}, 94 {"CZSVDH", 4, 8, "1000 0000 ssss dddd", "addb rbd,rbs", 0}, 95 {"CZSV--", 14, 32, "0001 0110 ssN0 dddd", "addl rrd,@rs", 0}, 96 {"CZSV--", 15, 32, "0101 0110 0000 dddd address_src", "addl rrd,address_src", 0}, 97 {"CZSV--", 16, 32, "0101 0110 ssN0 dddd address_src", "addl rrd,address_src(rs)", 0}, 98 {"CZSV--", 14, 32, "0001 0110 0000 dddd imm32", "addl rrd,imm32", 0}, 99 {"CZSV--", 8, 32, "1001 0110 ssss dddd", "addl rrd,rrs", 0}, 100 101 {"-ZS---", 7, 16, "0000 0111 ssN0 dddd", "and rd,@rs", 0}, 102 {"-ZS---", 9, 16, "0100 0111 0000 dddd address_src", "and rd,address_src", 0}, 103 {"-ZS---", 10, 16, "0100 0111 ssN0 dddd address_src", "and rd,address_src(rs)", 0}, 104 {"-ZS---", 7, 16, "0000 0111 0000 dddd imm16", "and rd,imm16", 0}, 105 {"-ZS---", 4, 16, "1000 0111 ssss dddd", "and rd,rs", 0}, 106 {"-ZSP--", 7, 8, "0000 0110 ssN0 dddd", "andb rbd,@rs", 0}, 107 {"-ZSP--", 9, 8, "0100 0110 0000 dddd address_src", "andb rbd,address_src", 0}, 108 {"-ZSP--", 10, 8, "0100 0110 ssN0 dddd address_src", "andb rbd,address_src(rs)", 0}, 109 {"-ZSP--", 7, 8, "0000 0110 0000 dddd imm8 imm8", "andb rbd,imm8", 0}, 110 {"-ZSP--", 4, 8, "1000 0110 ssss dddd", "andb rbd,rbs", 0}, 111 112 {"-Z----", 8, 16, "0010 0111 ddN0 imm4", "bit @rd,imm4", 0}, 113 {"-Z----", 11, 16, "0110 0111 ddN0 imm4 address_dst", "bit address_dst(rd),imm4", 0}, 114 {"-Z----", 10, 16, "0110 0111 0000 imm4 address_dst", "bit address_dst,imm4", 0}, 115 {"-Z----", 4, 16, "1010 0111 dddd imm4", "bit rd,imm4", 0}, 116 {"-Z----", 10, 16, "0010 0111 0000 ssss 0000 dddd 0000 0000", "bit rd,rs", 0}, 117 118 {"-Z----", 8, 8, "0010 0110 ddN0 imm4", "bitb @rd,imm4", 0}, 119 {"-Z----", 11, 8, "0110 0110 ddN0 imm4 address_dst", "bitb address_dst(rd),imm4", 0}, 120 {"-Z----", 10, 8, "0110 0110 0000 imm4 address_dst", "bitb address_dst,imm4", 0}, 121 {"-Z----", 4, 8, "1010 0110 dddd imm4", "bitb rbd,imm4", 0}, 122 {"-Z----", 10, 8, "0010 0110 0000 ssss 0000 dddd 0000 0000", "bitb rbd,rs", 0}, 123 124 {"------", 10, 32, "0001 1111 ddN0 0000", "call @rd", 0}, 125 {"------", 12, 32, "0101 1111 0000 0000 address_dst", "call address_dst", 0}, 126 {"------", 13, 32, "0101 1111 ddN0 0000 address_dst", "call address_dst(rd)", 0}, 127 {"------", 10, 16, "1101 disp12", "calr disp12", 0}, 128 129 {"------", 8, 16, "0000 1101 ddN0 1000", "clr @rd", 0}, 130 {"------", 11, 16, "0100 1101 0000 1000 address_dst", "clr address_dst", 0}, 131 {"------", 12, 16, "0100 1101 ddN0 1000 address_dst", "clr address_dst(rd)", 0}, 132 {"------", 7, 16, "1000 1101 dddd 1000", "clr rd", 0}, 133 {"------", 8, 8, "0000 1100 ddN0 1000", "clrb @rd", 0}, 134 {"------", 11, 8, "0100 1100 0000 1000 address_dst", "clrb address_dst", 0}, 135 {"------", 12, 8, "0100 1100 ddN0 1000 address_dst", "clrb address_dst(rd)", 0}, 136 {"------", 7, 8, "1000 1100 dddd 1000", "clrb rbd", 0}, 137 {"-ZS---", 12, 16, "0000 1101 ddN0 0000", "com @rd", 0}, 138 {"-ZS---", 15, 16, "0100 1101 0000 0000 address_dst", "com address_dst", 0}, 139 {"-ZS---", 16, 16, "0100 1101 ddN0 0000 address_dst", "com address_dst(rd)", 0}, 140 {"-ZS---", 7, 16, "1000 1101 dddd 0000", "com rd", 0}, 141 {"-ZSP--", 12, 8, "0000 1100 ddN0 0000", "comb @rd", 0}, 142 {"-ZSP--", 15, 8, "0100 1100 0000 0000 address_dst", "comb address_dst", 0}, 143 {"-ZSP--", 16, 8, "0100 1100 ddN0 0000 address_dst", "comb address_dst(rd)", 0}, 144 {"-ZSP--", 7, 8, "1000 1100 dddd 0000", "comb rbd", 0}, 145 {"CZSP--", 7, 16, "1000 1101 flags 0101", "comflg flags", 0}, 146 147 {"CZSV--", 11, 16, "0000 1101 ddN0 0001 imm16", "cp @rd,imm16", 0}, 148 {"CZSV--", 15, 16, "0100 1101 ddN0 0001 address_dst imm16", "cp address_dst(rd),imm16", 0}, 149 {"CZSV--", 14, 16, "0100 1101 0000 0001 address_dst imm16", "cp address_dst,imm16", 0}, 150 151 {"CZSV--", 7, 16, "0000 1011 ssN0 dddd", "cp rd,@rs", 0}, 152 {"CZSV--", 9, 16, "0100 1011 0000 dddd address_src", "cp rd,address_src", 0}, 153 {"CZSV--", 10, 16, "0100 1011 ssN0 dddd address_src", "cp rd,address_src(rs)", 0}, 154 {"CZSV--", 7, 16, "0000 1011 0000 dddd imm16", "cp rd,imm16", 0}, 155 {"CZSV--", 4, 16, "1000 1011 ssss dddd", "cp rd,rs", 0}, 156 157 {"CZSV--", 11, 8, "0000 1100 ddN0 0001 imm8 imm8", "cpb @rd,imm8", 0}, 158 {"CZSV--", 15, 8, "0100 1100 ddN0 0001 address_dst imm8 imm8", "cpb address_dst(rd),imm8", 0}, 159 {"CZSV--", 14, 8, "0100 1100 0000 0001 address_dst imm8 imm8", "cpb address_dst,imm8", 0}, 160 {"CZSV--", 7, 8, "0000 1010 ssN0 dddd", "cpb rbd,@rs", 0}, 161 {"CZSV--", 9, 8, "0100 1010 0000 dddd address_src", "cpb rbd,address_src", 0}, 162 {"CZSV--", 10, 8, "0100 1010 ssN0 dddd address_src", "cpb rbd,address_src(rs)", 0}, 163 {"CZSV--", 7, 8, "0000 1010 0000 dddd imm8 imm8", "cpb rbd,imm8", 0}, 164 {"CZSV--", 4, 8, "1000 1010 ssss dddd", "cpb rbd,rbs", 0}, 165 166 {"CZSV--", 14, 32, "0001 0000 ssN0 dddd", "cpl rrd,@rs", 0}, 167 {"CZSV--", 15, 32, "0101 0000 0000 dddd address_src", "cpl rrd,address_src", 0}, 168 {"CZSV--", 16, 32, "0101 0000 ssN0 dddd address_src", "cpl rrd,address_src(rs)", 0}, 169 {"CZSV--", 14, 32, "0001 0000 0000 dddd imm32", "cpl rrd,imm32", 0}, 170 {"CZSV--", 8, 32, "1001 0000 ssss dddd", "cpl rrd,rrs", 0}, 171 172 {"CZS---", 5, 8, "1011 0000 dddd 0000", "dab rbd", 0}, 173 {"------", 11, 16, "1111 dddd 0disp7", "dbjnz rbd,disp7", 0}, 174 {"-ZSV--", 11, 16, "0010 1011 ddN0 imm4m1", "dec @rd,imm4m1", 0}, 175 {"-ZSV--", 14, 16, "0110 1011 ddN0 imm4m1 address_dst", "dec address_dst(rd),imm4m1", 0}, 176 {"-ZSV--", 13, 16, "0110 1011 0000 imm4m1 address_dst", "dec address_dst,imm4m1", 0}, 177 {"-ZSV--", 4, 16, "1010 1011 dddd imm4m1", "dec rd,imm4m1", 0}, 178 {"-ZSV--", 11, 8, "0010 1010 ddN0 imm4m1", "decb @rd,imm4m1", 0}, 179 {"-ZSV--", 14, 8, "0110 1010 ddN0 imm4m1 address_dst", "decb address_dst(rd),imm4m1", 0}, 180 {"-ZSV--", 13, 8, "0110 1010 0000 imm4m1 address_dst", "decb address_dst,imm4m1", 0}, 181 {"-ZSV--", 4, 8, "1010 1010 dddd imm4m1", "decb rbd,imm4m1", 0}, 182 183 {"------", 7, 16, "0111 1100 0000 00ii", "di i2", 0}, 184 {"CZSV--", 107, 16, "0001 1011 ssN0 dddd", "div rrd,@rs", 0}, 185 {"CZSV--", 107, 16, "0101 1011 0000 dddd address_src", "div rrd,address_src", 0}, 186 {"CZSV--", 107, 16, "0101 1011 ssN0 dddd address_src", "div rrd,address_src(rs)", 0}, 187 {"CZSV--", 107, 16, "0001 1011 0000 dddd imm16", "div rrd,imm16", 0}, 188 {"CZSV--", 107, 16, "1001 1011 ssss dddd", "div rrd,rs", 0}, 189 {"CZSV--", 744, 32, "0001 1010 ssN0 dddd", "divl rqd,@rs", 0}, 190 {"CZSV--", 745, 32, "0101 1010 0000 dddd address_src", "divl rqd,address_src", 0}, 191 {"CZSV--", 746, 32, "0101 1010 ssN0 dddd address_src", "divl rqd,address_src(rs)", 0}, 192 {"CZSV--", 744, 32, "0001 1010 0000 dddd imm32", "divl rqd,imm32", 0}, 193 {"CZSV--", 744, 32, "1001 1010 ssss dddd", "divl rqd,rrs", 0}, 194 195 {"------", 11, 16, "1111 dddd 1disp7", "djnz rd,disp7", 0}, 196 {"------", 7, 16, "0111 1100 0000 01ii", "ei i2", 0}, 197 {"------", 6, 16, "1010 1101 ssss dddd", "ex rd,rs", 0}, 198 {"------", 12, 16, "0010 1101 ssN0 dddd", "ex rd,@rs", 0}, 199 {"------", 15, 16, "0110 1101 0000 dddd address_src", "ex rd,address_src", 0}, 200 {"------", 16, 16, "0110 1101 ssN0 dddd address_src", "ex rd,address_src(rs)", 0}, 201 202 {"------", 12, 8, "0010 1100 ssN0 dddd", "exb rbd,@rs", 0}, 203 {"------", 15, 8, "0110 1100 0000 dddd address_src", "exb rbd,address_src", 0}, 204 {"------", 16, 8, "0110 1100 ssN0 dddd address_src", "exb rbd,address_src(rs)", 0}, 205 {"------", 6, 8, "1010 1100 ssss dddd", "exb rbd,rbs", 0}, 206 207 {"------", 11, 16, "1011 0001 dddd 1010", "exts rrd", 0}, 208 {"------", 11, 8, "1011 0001 dddd 0000", "extsb rd", 0}, 209 {"------", 11, 32, "1011 0001 dddd 0111", "extsl rqd", 0}, 210 211 {"------", 8, 16, "0111 1010 0000 0000", "halt", 0}, 212 {"------", 10, 16, "0011 1101 ssN0 dddd", "in rd,@rs", 0}, 213 {"------", 12, 8, "0011 1100 ssN0 dddd", "inb rbd,@rs", 0}, 214 {"------", 12, 16, "0011 1011 dddd 0100 imm16", "in rd,imm16", 0}, 215 {"------", 10, 8, "0011 1010 dddd 0100 imm16", "inb rbd,imm16", 0}, 216 {"-ZSV--", 11, 16, "0010 1001 ddN0 imm4m1", "inc @rd,imm4m1", 0}, 217 {"-ZSV--", 14, 16, "0110 1001 ddN0 imm4m1 address_dst", "inc address_dst(rd),imm4m1", 0}, 218 {"-ZSV--", 13, 16, "0110 1001 0000 imm4m1 address_dst", "inc address_dst,imm4m1", 0}, 219 {"-ZSV--", 4, 16, "1010 1001 dddd imm4m1", "inc rd,imm4m1", 0}, 220 {"-ZSV--", 11, 8, "0010 1000 ddN0 imm4m1", "incb @rd,imm4m1", 0}, 221 {"-ZSV--", 14, 8, "0110 1000 ddN0 imm4m1 address_dst", "incb address_dst(rd),imm4m1", 0}, 222 {"-ZSV--", 13, 8, "0110 1000 0000 imm4m1 address_dst", "incb address_dst,imm4m1", 0}, 223 {"-ZSV--", 4, 8, "1010 1000 dddd imm4m1", "incb rbd,imm4m1", 0}, 224 {"---V--", 21, 16, "0011 1011 ssN0 1000 0000 aaaa ddN0 1000", "ind @rd,@rs,ra", 0}, 225 {"---V--", 21, 8, "0011 1010 ssN0 1000 0000 aaaa ddN0 1000", "indb @rd,@rs,rba", 0}, 226 {"---V--", 21, 8, "0011 1010 ssN0 0000 0000 aaaa ddN0 1000", "inib @rd,@rs,ra", 0}, 227 {"---V--", 21, 16, "0011 1010 ssN0 0000 0000 aaaa ddN0 0000", "inibr @rd,@rs,ra", 0}, 228 {"CZSVDH", 13, 16, "0111 1011 0000 0000", "iret", 0}, 229 {"------", 10, 16, "0001 1110 ddN0 cccc", "jp cc,@rd", 0}, 230 {"------", 7, 16, "0101 1110 0000 cccc address_dst", "jp cc,address_dst", 0}, 231 {"------", 8, 16, "0101 1110 ddN0 cccc address_dst", "jp cc,address_dst(rd)", 0}, 232 {"------", 6, 16, "1110 cccc disp8", "jr cc,disp8", 0}, 233 234 {"------", 7, 16, "0000 1101 ddN0 0101 imm16", "ld @rd,imm16", 0}, 235 {"------", 8, 16, "0010 1111 ddN0 ssss", "ld @rd,rs", 0}, 236 {"------", 15, 16, "0100 1101 ddN0 0101 address_dst imm16", "ld address_dst(rd),imm16", 0}, 237 {"------", 12, 16, "0110 1111 ddN0 ssss address_dst", "ld address_dst(rd),rs", 0}, 238 {"------", 14, 16, "0100 1101 0000 0101 address_dst imm16", "ld address_dst,imm16", 0}, 239 {"------", 11, 16, "0110 1111 0000 ssss address_dst", "ld address_dst,rs", 0}, 240 {"------", 14, 16, "0011 0011 ddN0 ssss imm16", "ld rd(imm16),rs", 0}, 241 {"------", 14, 16, "0111 0011 ddN0 ssss 0000 xxxx 0000 0000", "ld rd(rx),rs", 0}, 242 {"------", 7, 16, "0010 0001 ssN0 dddd", "ld rd,@rs", 0}, 243 {"------", 9, 16, "0110 0001 0000 dddd address_src", "ld rd,address_src", 0}, 244 {"------", 10, 16, "0110 0001 ssN0 dddd address_src", "ld rd,address_src(rs)", 0}, 245 {"------", 7, 16, "0010 0001 0000 dddd imm16", "ld rd,imm16", 0}, 246 {"------", 3, 16, "1010 0001 ssss dddd", "ld rd,rs", 0}, 247 {"------", 14, 16, "0011 0001 ssN0 dddd imm16", "ld rd,rs(imm16)", 0}, 248 {"------", 14, 16, "0111 0001 ssN0 dddd 0000 xxxx 0000 0000", "ld rd,rs(rx)", 0}, 249 250 {"------", 7, 8, "0000 1100 ddN0 0101 imm8 imm8", "ldb @rd,imm8", 0}, 251 {"------", 8, 8, "0010 1110 ddN0 ssss", "ldb @rd,rbs", 0}, 252 {"------", 15, 8, "0100 1100 ddN0 0101 address_dst imm8 imm8", "ldb address_dst(rd),imm8", 0}, 253 {"------", 12, 8, "0110 1110 ddN0 ssss address_dst", "ldb address_dst(rd),rbs", 0}, 254 {"------", 14, 8, "0100 1100 0000 0101 address_dst imm8 imm8", "ldb address_dst,imm8", 0}, 255 {"------", 11, 8, "0110 1110 0000 ssss address_dst", "ldb address_dst,rbs", 0}, 256 {"------", 14, 8, "0011 0010 ddN0 ssss imm16", "ldb rd(imm16),rbs", 0}, 257 {"------", 14, 8, "0111 0010 ddN0 ssss 0000 xxxx 0000 0000", "ldb rd(rx),rbs", 0}, 258 {"------", 7, 8, "0010 0000 ssN0 dddd", "ldb rbd,@rs", 0}, 259 {"------", 9, 8, "0110 0000 0000 dddd address_src", "ldb rbd,address_src", 0}, 260 {"------", 10, 8, "0110 0000 ssN0 dddd address_src", "ldb rbd,address_src(rs)", 0}, 261 {"------", 5, 8, "1100 dddd imm8", "ldb rbd,imm8", 0}, 262 {"------", 3, 8, "1010 0000 ssss dddd", "ldb rbd,rbs", 0}, 263 {"------", 14, 8, "0011 0000 ssN0 dddd imm16", "ldb rbd,rs(imm16)", 0}, 264 {"------", 14, 8, "0111 0000 ssN0 dddd 0000 xxxx 0000 0000", "ldb rbd,rs(rx)", 0}, 265 266 {"------", 11, 32, "0001 1101 ddN0 ssss", "ldl @rd,rrs", 0}, 267 {"------", 14, 32, "0101 1101 ddN0 ssss address_dst", "ldl address_dst(rd),rrs", 0}, 268 {"------", 15, 32, "0101 1101 0000 ssss address_dst", "ldl address_dst,rrs", 0}, 269 {"------", 17, 32, "0011 0111 ddN0 ssss imm16", "ldl rd(imm16),rrs", 0}, 270 {"------", 17, 32, "0111 0111 ddN0 ssss 0000 xxxx 0000 0000", "ldl rd(rx),rrs", 0}, 271 {"------", 11, 32, "0001 0100 ssN0 dddd", "ldl rrd,@rs", 0}, 272 {"------", 12, 32, "0101 0100 0000 dddd address_src", "ldl rrd,address_src", 0}, 273 {"------", 13, 32, "0101 0100 ssN0 dddd address_src", "ldl rrd,address_src(rs)", 0}, 274 {"------", 11, 32, "0001 0100 0000 dddd imm32", "ldl rrd,imm32", 0}, 275 {"------", 5, 32, "1001 0100 ssss dddd", "ldl rrd,rrs", 0}, 276 {"------", 17, 32, "0011 0101 ssN0 dddd imm16", "ldl rrd,rs(imm16)", 0}, 277 {"------", 17, 32, "0111 0101 ssN0 dddd 0000 xxxx 0000 0000", "ldl rrd,rs(rx)", 0}, 278 279 {"------", 12, 16, "0111 0110 0000 dddd address_src", "lda prd,address_src", 0}, 280 {"------", 13, 16, "0111 0110 ssN0 dddd address_src", "lda prd,address_src(rs)", 0}, 281 {"------", 15, 16, "0011 0100 ssN0 dddd imm16", "lda prd,rs(imm16)", 0}, 282 {"------", 15, 16, "0111 0100 ssN0 dddd 0000 xxxx 0000 0000", "lda prd,rs(rx)", 0}, 283 {"------", 15, 16, "0011 0100 0000 dddd disp16", "ldar prd,disp16", 0}, 284 {"------", 7, 32, "0111 1101 ssss 1ccc", "ldctl ctrl,rs", 0}, 285 {"------", 7, 32, "0111 1101 dddd 0ccc", "ldctl rd,ctrl", 0}, 286 287 {"------", 5, 16, "1011 1101 dddd imm4", "ldk rd,imm4", 0}, 288 289 {"------", 11, 16, "0001 1100 ddN0 1001 0000 ssss 0000 imm4m1", "ldm @rd,rs,n", 0}, 290 {"------", 15, 16, "0101 1100 ddN0 1001 0000 ssss 0000 imm4m1 address_dst", "ldm address_dst(rd),rs,n", 0}, 291 {"------", 14, 16, "0101 1100 0000 1001 0000 ssss 0000 imm4m1 address_dst", "ldm address_dst,rs,n", 0}, 292 {"------", 11, 16, "0001 1100 ssN0 0001 0000 dddd 0000 imm4m1", "ldm rd,@rs,n", 0}, 293 {"------", 15, 16, "0101 1100 ssN0 0001 0000 dddd 0000 imm4m1 address_src", "ldm rd,address_src(rs),n", 0}, 294 {"------", 14, 16, "0101 1100 0000 0001 0000 dddd 0000 imm4m1 address_src", "ldm rd,address_src,n", 0}, 295 296 {"CZSVDH", 12, 16, "0011 1001 ssN0 0000", "ldps @rs", 0}, 297 {"CZSVDH", 16, 16, "0111 1001 0000 0000 address_src", "ldps address_src", 0}, 298 {"CZSVDH", 17, 16, "0111 1001 ssN0 0000 address_src", "ldps address_src(rs)", 0}, 299 300 {"------", 14, 16, "0011 0011 0000 ssss disp16", "ldr disp16,rs", 0}, 301 {"------", 14, 16, "0011 0001 0000 dddd disp16", "ldr rd,disp16", 0}, 302 {"------", 14, 8, "0011 0010 0000 ssss disp16", "ldrb disp16,rbs", 0}, 303 {"------", 14, 8, "0011 0000 0000 dddd disp16", "ldrb rbd,disp16", 0}, 304 {"------", 17, 32, "0011 0111 0000 ssss disp16", "ldrl disp16,rrs", 0}, 305 {"------", 17, 32, "0011 0101 0000 dddd disp16", "ldrl rrd,disp16", 0}, 306 307 {"CZS---", 7, 16, "0111 1011 0000 1010", "mbit", 0}, 308 {"-ZS---", 12, 16, "0111 1011 dddd 1101", "mreq rd", 0}, 309 {"------", 5, 16, "0111 1011 0000 1001", "mres", 0}, 310 {"------", 5, 16, "0111 1011 0000 1000", "mset", 0}, 311 312 {"CZSV--", 70, 16, "0001 1001 ssN0 dddd", "mult rrd,@rs", 0}, 313 {"CZSV--", 70, 16, "0101 1001 0000 dddd address_src", "mult rrd,address_src", 0}, 314 {"CZSV--", 70, 16, "0101 1001 ssN0 dddd address_src", "mult rrd,address_src(rs)", 0}, 315 {"CZSV--", 70, 16, "0001 1001 0000 dddd imm16", "mult rrd,imm16", 0}, 316 {"CZSV--", 70, 16, "1001 1001 ssss dddd", "mult rrd,rs", 0}, 317 {"CZSV--", 282, 32, "0001 1000 ssN0 dddd", "multl rqd,@rs", 0}, 318 {"CZSV--", 282, 32, "0101 1000 0000 dddd address_src", "multl rqd,address_src", 0}, 319 {"CZSV--", 282, 32, "0101 1000 ssN0 dddd address_src", "multl rqd,address_src(rs)", 0}, 320 {"CZSV--", 282, 32, "0001 1000 0000 dddd imm32", "multl rqd,imm32", 0}, 321 {"CZSV--", 282, 32, "1001 1000 ssss dddd", "multl rqd,rrs", 0}, 322 {"CZSV--", 12, 16, "0000 1101 ddN0 0010", "neg @rd", 0}, 323 {"CZSV--", 15, 16, "0100 1101 0000 0010 address_dst", "neg address_dst", 0}, 324 {"CZSV--", 16, 16, "0100 1101 ddN0 0010 address_dst", "neg address_dst(rd)", 0}, 325 {"CZSV--", 7, 16, "1000 1101 dddd 0010", "neg rd", 0}, 326 {"CZSV--", 12, 8, "0000 1100 ddN0 0010", "negb @rd", 0}, 327 {"CZSV--", 15, 8, "0100 1100 0000 0010 address_dst", "negb address_dst", 0}, 328 {"CZSV--", 16, 8, "0100 1100 ddN0 0010 address_dst", "negb address_dst(rd)", 0}, 329 {"CZSV--", 7, 8, "1000 1100 dddd 0010", "negb rbd", 0}, 330 331 {"------", 7, 16, "1000 1101 0000 0111", "nop", 0}, 332 333 {"CZS---", 7, 16, "0000 0101 ssN0 dddd", "or rd,@rs", 0}, 334 {"CZS---", 9, 16, "0100 0101 0000 dddd address_src", "or rd,address_src", 0}, 335 {"CZS---", 10, 16, "0100 0101 ssN0 dddd address_src", "or rd,address_src(rs)", 0}, 336 {"CZS---", 7, 16, "0000 0101 0000 dddd imm16", "or rd,imm16", 0}, 337 {"CZS---", 4, 16, "1000 0101 ssss dddd", "or rd,rs", 0}, 338 339 {"CZSP--", 7, 8, "0000 0100 ssN0 dddd", "orb rbd,@rs", 0}, 340 {"CZSP--", 9, 8, "0100 0100 0000 dddd address_src", "orb rbd,address_src", 0}, 341 {"CZSP--", 10, 8, "0100 0100 ssN0 dddd address_src", "orb rbd,address_src(rs)", 0}, 342 {"CZSP--", 7, 8, "0000 0100 0000 dddd imm8 imm8", "orb rbd,imm8", 0}, 343 {"CZSP--", 4, 8, "1000 0100 ssss dddd", "orb rbd,rbs", 0}, 344 345 {"---V--", 0, 16, "0011 1111 ddN0 ssss", "out @rd,rs", 0}, 346 {"---V--", 0, 16, "0011 1011 ssss 0110 imm16", "out imm16,rs", 0}, 347 {"---V--", 0, 8, "0011 1110 ddN0 ssss", "outb @rd,rbs", 0}, 348 {"---V--", 0, 8, "0011 1010 ssss 0110 imm16", "outb imm16,rbs", 0}, 349 {"---V--", 0, 16, "0011 1011 ssN0 1010 0000 aaaa ddN0 1000", "outd @rd,@rs,ra", 0}, 350 {"---V--", 0, 16, "0011 1010 ssN0 1010 0000 aaaa ddN0 1000", "outdb @rd,@rs,rba", 0}, 351 {"---V--", 0, 16, "0011 1011 ssN0 0010 0000 aaaa ddN0 1000", "outi @rd,@rs,ra", 0}, 352 {"---V--", 0, 16, "0011 1010 ssN0 0010 0000 aaaa ddN0 1000", "outib @rd,@rs,ra", 0}, 353 {"---V--", 0, 16, "0011 1010 ssN0 0010 0000 aaaa ddN0 0000", "outibr @rd,@rs,ra", 0}, 354 355 {"------", 12, 16, "0001 0111 ssN0 ddN0", "pop @rd,@rs", 0}, 356 {"------", 16, 16, "0101 0111 ssN0 ddN0 address_dst", "pop address_dst(rd),@rs", 0}, 357 {"------", 16, 16, "0101 0111 ssN0 0000 address_dst", "pop address_dst,@rs", 0}, 358 {"------", 8, 16, "1001 0111 ssN0 dddd", "pop rd,@rs", 0}, 359 360 {"------", 19, 32, "0001 0101 ssN0 ddN0", "popl @rd,@rs", 0}, 361 {"------", 23, 32, "0101 0101 ssN0 ddN0 address_dst", "popl address_dst(rd),@rs", 0}, 362 {"------", 23, 32, "0101 0101 ssN0 0000 address_dst", "popl address_dst,@rs", 0}, 363 {"------", 12, 32, "1001 0101 ssN0 dddd", "popl rrd,@rs", 0}, 364 365 {"------", 13, 16, "0001 0011 ddN0 ssN0", "push @rd,@rs", 0}, 366 {"------", 14, 16, "0101 0011 ddN0 0000 address_src", "push @rd,address_src", 0}, 367 {"------", 14, 16, "0101 0011 ddN0 ssN0 address_src", "push @rd,address_src(rs)", 0}, 368 {"------", 12, 16, "0000 1101 ddN0 1001 imm16", "push @rd,imm16", 0}, 369 {"------", 9, 16, "1001 0011 ddN0 ssss", "push @rd,rs", 0}, 370 371 {"------", 20, 32, "0001 0001 ddN0 ssN0", "pushl @rd,@rs", 0}, 372 {"------", 21, 32, "0101 0001 ddN0 ssN0 address_src", "pushl @rd,address_src(rs)", 0}, 373 {"------", 21, 32, "0101 0001 ddN0 0000 address_src", "pushl @rd,address_src", 0}, 374 {"------", 12, 32, "1001 0001 ddN0 ssss", "pushl @rd,rrs", 0}, 375 376 {"------", 11, 16, "0010 0011 ddN0 imm4", "res @rd,imm4", 0}, 377 {"------", 14, 16, "0110 0011 ddN0 imm4 address_dst", "res address_dst(rd),imm4", 0}, 378 {"------", 13, 16, "0110 0011 0000 imm4 address_dst", "res address_dst,imm4", 0}, 379 {"------", 4, 16, "1010 0011 dddd imm4", "res rd,imm4", 0}, 380 {"------", 10, 16, "0010 0011 0000 ssss 0000 dddd 0000 0000", "res rd,rs", 0}, 381 382 {"------", 11, 8, "0010 0010 ddN0 imm4", "resb @rd,imm4", 0}, 383 {"------", 14, 8, "0110 0010 ddN0 imm4 address_dst", "resb address_dst(rd),imm4", 0}, 384 {"------", 13, 8, "0110 0010 0000 imm4 address_dst", "resb address_dst,imm4", 0}, 385 {"------", 4, 8, "1010 0010 dddd imm4", "resb rbd,imm4", 0}, 386 {"------", 10, 8, "0010 0010 0000 ssss 0000 dddd 0000 0000", "resb rbd,rs", 0}, 387 388 {"CZSV--", 7, 16, "1000 1101 flags 0011", "resflg flags", 0}, 389 {"------", 10, 16, "1001 1110 0000 cccc", "ret cc", 0}, 390 391 {"CZSV--", 6, 16, "1011 0011 dddd 00I0", "rl rd,imm1or2", 0}, 392 {"CZSV--", 6, 8, "1011 0010 dddd 00I0", "rlb rbd,imm1or2", 0}, 393 {"CZSV--", 6, 16, "1011 0011 dddd 10I0", "rlc rd,imm1or2", 0}, 394 395 {"-Z----", 9, 8, "1011 0010 dddd 10I0", "rlcb rbd,imm1or2", 0}, 396 {"-Z----", 9, 8, "1011 1110 aaaa bbbb", "rldb rbb,rba", 0}, 397 398 {"CZSV--", 6, 16, "1011 0011 dddd 01I0", "rr rd,imm1or2", 0}, 399 {"CZSV--", 6, 8, "1011 0010 dddd 01I0", "rrb rbd,imm1or2", 0}, 400 {"CZSV--", 6, 16, "1011 0011 dddd 11I0", "rrc rd,imm1or2", 0}, 401 402 {"-Z----", 9, 8, "1011 0010 dddd 11I0", "rrcb rbd,imm1or2", 0}, 403 {"-Z----", 9, 8, "1011 1100 aaaa bbbb", "rrdb rbb,rba", 0}, 404 {"CZSV--", 5, 16, "1011 0111 ssss dddd", "sbc rd,rs", 0}, 405 {"CZSVDH", 5, 8, "1011 0110 ssss dddd", "sbcb rbd,rbs", 0}, 406 407 {"CZSVDH", 33, 8, "0111 1111 imm8", "sc imm8", 0}, 408 409 {"CZSV--", 15, 16, "1011 0011 dddd 1011 0000 ssss 0000 0000", "sda rd,rs", 0}, 410 {"CZSV--", 15, 8, "1011 0010 dddd 1011 0000 ssss 0000 0000", "sdab rbd,rs", 0}, 411 {"CZSV--", 15, 32, "1011 0011 dddd 1111 0000 ssss 0000 0000", "sdal rrd,rs", 0}, 412 413 {"CZS---", 15, 16, "1011 0011 dddd 0011 0000 ssss 0000 0000", "sdl rd,rs", 0}, 414 {"CZS---", 15, 8, "1011 0010 dddd 0011 0000 ssss 0000 0000", "sdlb rbd,rs", 0}, 415 {"CZS---", 15, 32, "1011 0011 dddd 0111 0000 ssss 0000 0000", "sdll rrd,rs", 0}, 416 417 {"------", 11, 16, "0010 0101 ddN0 imm4", "set @rd,imm4", 0}, 418 {"------", 14, 16, "0110 0101 ddN0 imm4 address_dst", "set address_dst(rd),imm4", 0}, 419 {"------", 13, 16, "0110 0101 0000 imm4 address_dst", "set address_dst,imm4", 0}, 420 {"------", 4, 16, "1010 0101 dddd imm4", "set rd,imm4", 0}, 421 {"------", 10, 16, "0010 0101 0000 ssss 0000 dddd 0000 0000", "set rd,rs", 0}, 422 {"------", 11, 8, "0010 0100 ddN0 imm4", "setb @rd,imm4", 0}, 423 {"------", 14, 8, "0110 0100 ddN0 imm4 address_dst", "setb address_dst(rd),imm4", 0}, 424 {"------", 13, 8, "0110 0100 0000 imm4 address_dst", "setb address_dst,imm4", 0}, 425 {"------", 4, 8, "1010 0100 dddd imm4", "setb rbd,imm4", 0}, 426 {"------", 10, 8, "0010 0100 0000 ssss 0000 dddd 0000 0000", "setb rbd,rs", 0}, 427 428 {"CZSV--", 7, 16, "1000 1101 flags 0001", "setflg flags", 0}, 429 430 {"------", 0, 8, "0011 1010 dddd 0101 imm16", "sinb rbd,imm16", 0}, 431 {"------", 0, 8, "0011 1011 dddd 0101 imm16", "sin rd,imm16", 0}, 432 {"------", 0, 16, "0011 1011 ssN0 1000 0001 aaaa ddN0 1000", "sind @rd,@rs,ra", 0}, 433 {"------", 0, 8, "0011 1010 ssN0 1000 0001 aaaa ddN0 1000", "sindb @rd,@rs,rba", 0}, 434 {"------", 0, 8, "0011 1010 ssN0 0001 0000 aaaa ddN0 1000", "sinib @rd,@rs,ra", 0}, 435 {"------", 0, 16, "0011 1010 ssN0 0001 0000 aaaa ddN0 0000", "sinibr @rd,@rs,ra", 0}, 436 437 {"CZSV--", 13, 16, "1011 0011 dddd 1001 0000 0000 imm8", "sla rd,imm8", 0}, 438 {"CZSV--", 13, 8, "1011 0010 dddd 1001 iiii iiii 0000 imm4", "slab rbd,imm4", 0}, 439 {"CZSV--", 13, 32, "1011 0011 dddd 1101 0000 0000 imm8", "slal rrd,imm8", 0}, 440 441 {"CZS---", 13, 16, "1011 0011 dddd 0001 0000 0000 imm8", "sll rd,imm8", 0}, 442 {"CZS---", 13, 8, "1011 0010 dddd 0001 iiii iiii 0000 imm4", "sllb rbd,imm4", 0}, 443 {"CZS---", 13, 32, "1011 0011 dddd 0101 0000 0000 imm8", "slll rrd,imm8", 0}, 444 445 {"------", 0, 16, "0011 1011 ssss 0111 imm16", "sout imm16,rs", 0}, 446 {"------", 0, 8, "0011 1010 ssss 0111 imm16", "soutb imm16,rbs", 0}, 447 {"------", 0, 16, "0011 1011 ssN0 1011 0000 aaaa ddN0 1000", "soutd @rd,@rs,ra", 0}, 448 {"------", 0, 8, "0011 1010 ssN0 1011 0000 aaaa ddN0 1000", "soutdb @rd,@rs,rba", 0}, 449 {"------", 0, 8, "0011 1010 ssN0 0011 0000 aaaa ddN0 1000", "soutib @rd,@rs,ra", 0}, 450 {"------", 0, 16, "0011 1010 ssN0 0011 0000 aaaa ddN0 0000", "soutibr @rd,@rs,ra", 0}, 451 452 {"CZSV--", 13, 16, "1011 0011 dddd 1001 1111 1111 nim8", "sra rd,imm8", 0}, 453 {"CZSV--", 13, 8, "1011 0010 dddd 1001 iiii iiii 1111 nim4", "srab rbd,imm4", 0}, 454 {"CZSV--", 13, 32, "1011 0011 dddd 1101 1111 1111 nim8", "sral rrd,imm8", 0}, 455 456 {"CZSV--", 13, 16, "1011 0011 dddd 0001 1111 1111 nim8", "srl rd,imm8", 0}, 457 {"CZSV--", 13, 8, "1011 0010 dddd 0001 iiii iiii 1111 nim4", "srlb rbd,imm4", 0}, 458 {"CZSV--", 13, 32, "1011 0011 dddd 0101 1111 1111 nim8", "srll rrd,imm8", 0}, 459 460 {"CZSV--", 7, 16, "0000 0011 ssN0 dddd", "sub rd,@rs", 0}, 461 {"CZSV--", 9, 16, "0100 0011 0000 dddd address_src", "sub rd,address_src", 0}, 462 {"CZSV--", 10, 16, "0100 0011 ssN0 dddd address_src", "sub rd,address_src(rs)", 0}, 463 {"CZSV--", 7, 16, "0000 0011 0000 dddd imm16", "sub rd,imm16", 0}, 464 {"CZSV--", 4, 16, "1000 0011 ssss dddd", "sub rd,rs", 0}, 465 466 {"CZSVDH", 7, 8, "0000 0010 ssN0 dddd", "subb rbd,@rs", 0}, 467 {"CZSVDH", 9, 8, "0100 0010 0000 dddd address_src", "subb rbd,address_src", 0}, 468 {"CZSVDH", 10, 8, "0100 0010 ssN0 dddd address_src", "subb rbd,address_src(rs)", 0}, 469 {"CZSVDH", 7, 8, "0000 0010 0000 dddd imm8 imm8", "subb rbd,imm8", 0}, 470 {"CZSVDH", 4, 8, "1000 0010 ssss dddd", "subb rbd,rbs", 0}, 471 472 {"CZSV--", 14, 32, "0001 0010 ssN0 dddd", "subl rrd,@rs", 0}, 473 {"CZSV--", 15, 32, "0101 0010 0000 dddd address_src", "subl rrd,address_src", 0}, 474 {"CZSV--", 16, 32, "0101 0010 ssN0 dddd address_src", "subl rrd,address_src(rs)", 0}, 475 {"CZSV--", 14, 32, "0001 0010 0000 dddd imm32", "subl rrd,imm32", 0}, 476 {"CZSV--", 8, 32, "1001 0010 ssss dddd", "subl rrd,rrs", 0}, 477 478 {"------", 5, 16, "1010 1111 dddd cccc", "tcc cc,rd", 0}, 479 {"------", 5, 8, "1010 1110 dddd cccc", "tccb cc,rbd", 0}, 480 481 {"-ZS---", 8, 16, "0000 1101 ddN0 0100", "test @rd", 0}, 482 {"------", 11, 16, "0100 1101 0000 0100 address_dst", "test address_dst", 0}, 483 {"------", 12, 16, "0100 1101 ddN0 0100 address_dst", "test address_dst(rd)", 0}, 484 {"------", 7, 16, "1000 1101 dddd 0100", "test rd", 0}, 485 486 {"-ZSP--", 8, 8, "0000 1100 ddN0 0100", "testb @rd", 0}, 487 {"-ZSP--", 11, 8, "0100 1100 0000 0100 address_dst", "testb address_dst", 0}, 488 {"-ZSP--", 12, 8, "0100 1100 ddN0 0100 address_dst", "testb address_dst(rd)", 0}, 489 {"-ZSP--", 7, 8, "1000 1100 dddd 0100", "testb rbd", 0}, 490 491 {"-ZS---", 13, 32, "0001 1100 ddN0 1000", "testl @rd", 0}, 492 {"-ZS---", 16, 32, "0101 1100 0000 1000 address_dst", "testl address_dst", 0}, 493 {"-ZS---", 17, 32, "0101 1100 ddN0 1000 address_dst", "testl address_dst(rd)", 0}, 494 {"-ZS---", 13, 32, "1001 1100 dddd 1000", "testl rrd", 0}, 495 496 {"-ZSV--", 25, 8, "1011 1000 ddN0 1000 0000 aaaa ssN0 0000", "trdb @rd,@rs,rba", 0}, 497 {"-ZSV--", 25, 8, "1011 1000 ddN0 1100 0000 aaaa ssN0 0000", "trdrb @rd,@rs,rba", 0}, 498 {"-ZSV--", 25, 8, "1011 1000 ddN0 0000 0000 rrrr ssN0 0000", "trib @rd,@rs,rbr", 0}, 499 {"-ZSV--", 25, 8, "1011 1000 ddN0 0100 0000 rrrr ssN0 0000", "trirb @rd,@rs,rbr", 0}, 500 {"-ZSV--", 25, 8, "1011 1000 aaN0 1010 0000 rrrr bbN0 0000", "trtdb @ra,@rb,rbr", 0}, 501 {"-ZSV--", 25, 8, "1011 1000 aaN0 1110 0000 rrrr bbN0 1110", "trtdrb @ra,@rb,rbr", 0}, 502 {"-ZSV--", 25, 8, "1011 1000 aaN0 0010 0000 rrrr bbN0 0000", "trtib @ra,@rb,rbr", 0}, 503 {"-ZSV--", 25, 8, "1011 1000 aaN0 0110 0000 rrrr bbN0 1110", "trtirb @ra,@rb,rbr", 0}, 504 {"-ZSV--", 25, 8, "1011 1000 aaN0 1010 0000 rrrr bbN0 0000", "trtrb @ra,@rb,rbr", 0}, 505 506 {"--S---", 11, 16, "0000 1101 ddN0 0110", "tset @rd", 0}, 507 {"--S---", 14, 16, "0100 1101 0000 0110 address_dst", "tset address_dst", 0}, 508 {"--S---", 15, 16, "0100 1101 ddN0 0110 address_dst", "tset address_dst(rd)", 0}, 509 {"--S---", 7, 16, "1000 1101 dddd 0110", "tset rd", 0}, 510 511 {"--S---", 11, 8, "0000 1100 ddN0 0110", "tsetb @rd", 0}, 512 {"--S---", 14, 8, "0100 1100 0000 0110 address_dst", "tsetb address_dst", 0}, 513 {"--S---", 15, 8, "0100 1100 ddN0 0110 address_dst", "tsetb address_dst(rd)", 0}, 514 {"--S---", 7, 8, "1000 1100 dddd 0110", "tsetb rbd", 0}, 515 516 {"-ZS---", 7, 16, "0000 1001 ssN0 dddd", "xor rd,@rs", 0}, 517 {"-ZS---", 9, 16, "0100 1001 0000 dddd address_src", "xor rd,address_src", 0}, 518 {"-ZS---", 10, 16, "0100 1001 ssN0 dddd address_src", "xor rd,address_src(rs)", 0}, 519 {"-ZS---", 7, 16, "0000 1001 0000 dddd imm16", "xor rd,imm16", 0}, 520 {"-ZS---", 4, 16, "1000 1001 ssss dddd", "xor rd,rs", 0}, 521 522 {"-ZSP--", 7, 8, "0000 1000 ssN0 dddd", "xorb rbd,@rs", 0}, 523 {"-ZSP--", 9, 8, "0100 1000 0000 dddd address_src", "xorb rbd,address_src", 0}, 524 {"-ZSP--", 10, 8, "0100 1000 ssN0 dddd address_src", "xorb rbd,address_src(rs)", 0}, 525 {"-ZSP--", 7, 8, "0000 1000 0000 dddd imm8 imm8", "xorb rbd,imm8", 0}, 526 {"-ZSP--", 4, 8, "1000 1000 ssss dddd", "xorb rbd,rbs", 0}, 527 528 {"------", 7, 32, "1000 1100 dddd 0001", "ldctlb rbd,ctrl", 0}, 529 {"CZSVDH", 7, 32, "1000 1100 ssss 1001", "ldctlb ctrl,rbs", 0}, 530 531 {"*", 4, 8, "1000 1000 ssss dddd", "xorb rbd,rbs", 0}, 532 {"*", 0, 0, 0, 0, 0} 525 533 }; 526 534 … … 589 597 {"imm4m1", "CLASS_IMM +(ARG_IMM4M1)",}, 590 598 {"imm4", "CLASS_IMM +(ARG_IMM4)",}, 591 {"n", "CLASS_IMM + (ARG_IMM N)",},599 {"n", "CLASS_IMM + (ARG_IMM4M1)",}, 592 600 {"ctrl", "CLASS_CTRL",}, 593 601 {"rba", "CLASS_REG_BYTE+(ARG_RA)",}, … … 621 629 {"2", "CLASS_IMM+(ARG_IMM_2)",}, 622 630 623 0, 0631 {0, 0} 624 632 }; 625 633 626 634 struct tok_struct toks[] = 627 635 { 628 "0000", "CLASS_BIT+0", 1, 629 "0001", "CLASS_BIT+1", 1, 630 "0010", "CLASS_BIT+2", 1, 631 "0011", "CLASS_BIT+3", 1, 632 "0100", "CLASS_BIT+4", 1, 633 "0101", "CLASS_BIT+5", 1, 634 "0110", "CLASS_BIT+6", 1, 635 "0111", "CLASS_BIT+7", 1, 636 "1000", "CLASS_BIT+8", 1, 637 "1001", "CLASS_BIT+9", 1, 638 "1010", "CLASS_BIT+0xa", 1, 639 "1011", "CLASS_BIT+0xb", 1, 640 "1100", "CLASS_BIT+0xc", 1, 641 "1101", "CLASS_BIT+0xd", 1, 642 "1110", "CLASS_BIT+0xe", 1, 643 "1111", "CLASS_BIT+0xf", 1, 644 645 "00I0", "CLASS_BIT_1OR2+0", 1, 646 "00I0", "CLASS_BIT_1OR2+1", 1, 647 "00I0", "CLASS_BIT_1OR2+2", 1, 648 "00I0", "CLASS_BIT_1OR2+3", 1, 649 "01I0", "CLASS_BIT_1OR2+4", 1, 650 "01I0", "CLASS_BIT_1OR2+5", 1, 651 "01I0", "CLASS_BIT_1OR2+6", 1, 652 "01I0", "CLASS_BIT_1OR2+7", 1, 653 "10I0", "CLASS_BIT_1OR2+8", 1, 654 "10I0", "CLASS_BIT_1OR2+9", 1, 655 "10I0", "CLASS_BIT_1OR2+0xa", 1, 656 "10I0", "CLASS_BIT_1OR2+0xb", 1, 657 "11I0", "CLASS_BIT_1OR2+0xc", 1, 658 "11I0", "CLASS_BIT_1OR2+0xd", 1, 659 "11I0", "CLASS_BIT_1OR2+0xe", 1, 660 "11I0", "CLASS_BIT_1OR2+0xf", 1, 661 662 "ssss", "CLASS_REG+(ARG_RS)", 1, 663 "dddd", "CLASS_REG+(ARG_RD)", 1, 664 "aaaa", "CLASS_REG+(ARG_RA)", 1, 665 "bbbb", "CLASS_REG+(ARG_RB)", 1, 666 "rrrr", "CLASS_REG+(ARG_RR)", 1, 667 668 "ssN0", "CLASS_REGN0+(ARG_RS)", 1, 669 "ddN0", "CLASS_REGN0+(ARG_RD)", 1, 670 "aaN0", "CLASS_REGN0+(ARG_RA)", 1, 671 "bbN0", "CLASS_REGN0+(ARG_RB)", 1, 672 "rrN0", "CLASS_REGN0+(ARG_RR)", 1, 673 674 "cccc", "CLASS_CC", 1, 675 "nnnn", "CLASS_IMM+(ARG_IMMN)", 1, 676 "xxxx", "CLASS_REG+(ARG_RX)", 1, 677 "xxN0", "CLASS_REGN0+(ARG_RX)", 1, 678 "nminus1", "CLASS_IMM+(ARG_IMMNMINUS1)", 1, 679 680 "disp16", "CLASS_DISP+(ARG_DISP16)", 4, 681 "disp12", "CLASS_DISP+(ARG_DISP12)", 3, 682 "flags", "CLASS_FLAGS", 1, 683 "address_dst", "CLASS_ADDRESS+(ARG_DST)", 4, 684 "address_src", "CLASS_ADDRESS+(ARG_SRC)", 4, 685 "imm4m1", "CLASS_IMM+(ARG_IMM4M1)", 1, 686 "imm4", "CLASS_IMM+(ARG_IMM4)", 1, 687 688 "imm8", "CLASS_IMM+(ARG_IMM8)", 2, 689 "imm16", "CLASS_IMM+(ARG_IMM16)", 4, 690 "imm32", "CLASS_IMM+(ARG_IMM32)", 8, 691 "nim8", "CLASS_IMM+(ARG_NIM8)", 2, 692 "0ccc", "CLASS_0CCC", 1, 693 "1ccc", "CLASS_1CCC", 1, 694 "disp8", "CLASS_DISP8", 2, 695 "0disp7", "CLASS_0DISP7", 2, 696 "1disp7", "CLASS_1DISP7", 2, 697 "01ii", "CLASS_01II", 1, 698 "00ii", "CLASS_00II", 1, 699 0, 0 700 636 {"0000", "CLASS_BIT+0", 1}, 637 {"0001", "CLASS_BIT+1", 1}, 638 {"0010", "CLASS_BIT+2", 1}, 639 {"0011", "CLASS_BIT+3", 1}, 640 {"0100", "CLASS_BIT+4", 1}, 641 {"0101", "CLASS_BIT+5", 1}, 642 {"0110", "CLASS_BIT+6", 1}, 643 {"0111", "CLASS_BIT+7", 1}, 644 {"1000", "CLASS_BIT+8", 1}, 645 {"1001", "CLASS_BIT+9", 1}, 646 {"1010", "CLASS_BIT+0xa", 1}, 647 {"1011", "CLASS_BIT+0xb", 1}, 648 {"1100", "CLASS_BIT+0xc", 1}, 649 {"1101", "CLASS_BIT+0xd", 1}, 650 {"1110", "CLASS_BIT+0xe", 1}, 651 {"1111", "CLASS_BIT+0xf", 1}, 652 653 {"00I0", "CLASS_BIT_1OR2+0", 1}, 654 {"00I0", "CLASS_BIT_1OR2+1", 1}, 655 {"00I0", "CLASS_BIT_1OR2+2", 1}, 656 {"00I0", "CLASS_BIT_1OR2+3", 1}, 657 {"01I0", "CLASS_BIT_1OR2+4", 1}, 658 {"01I0", "CLASS_BIT_1OR2+5", 1}, 659 {"01I0", "CLASS_BIT_1OR2+6", 1}, 660 {"01I0", "CLASS_BIT_1OR2+7", 1}, 661 {"10I0", "CLASS_BIT_1OR2+8", 1}, 662 {"10I0", "CLASS_BIT_1OR2+9", 1}, 663 {"10I0", "CLASS_BIT_1OR2+0xa", 1}, 664 {"10I0", "CLASS_BIT_1OR2+0xb", 1}, 665 {"11I0", "CLASS_BIT_1OR2+0xc", 1}, 666 {"11I0", "CLASS_BIT_1OR2+0xd", 1}, 667 {"11I0", "CLASS_BIT_1OR2+0xe", 1}, 668 {"11I0", "CLASS_BIT_1OR2+0xf", 1}, 669 670 {"ssss", "CLASS_REG+(ARG_RS)", 1}, 671 {"dddd", "CLASS_REG+(ARG_RD)", 1}, 672 {"aaaa", "CLASS_REG+(ARG_RA)", 1}, 673 {"bbbb", "CLASS_REG+(ARG_RB)", 1}, 674 {"rrrr", "CLASS_REG+(ARG_RR)", 1}, 675 676 {"ssN0", "CLASS_REGN0+(ARG_RS)", 1}, 677 {"ddN0", "CLASS_REGN0+(ARG_RD)", 1}, 678 {"aaN0", "CLASS_REGN0+(ARG_RA)", 1}, 679 {"bbN0", "CLASS_REGN0+(ARG_RB)", 1}, 680 {"rrN0", "CLASS_REGN0+(ARG_RR)", 1}, 681 682 {"cccc", "CLASS_CC", 1}, 683 {"nnnn", "CLASS_IMM+(ARG_IMMN)", 1}, 684 {"xxxx", "CLASS_REG+(ARG_RX)", 1}, 685 {"xxN0", "CLASS_REGN0+(ARG_RX)", 1}, 686 {"nminus1", "CLASS_IMM+(ARG_IMMNMINUS1)", 1}, 687 688 {"disp16", "CLASS_DISP+(ARG_DISP16)", 4}, 689 {"disp12", "CLASS_DISP+(ARG_DISP12)", 3}, 690 {"flags", "CLASS_FLAGS", 1}, 691 {"address_dst", "CLASS_ADDRESS+(ARG_DST)", 4}, 692 {"address_src", "CLASS_ADDRESS+(ARG_SRC)", 4}, 693 {"imm4m1", "CLASS_IMM+(ARG_IMM4M1)", 1}, 694 {"imm4", "CLASS_IMM+(ARG_IMM4)", 1}, 695 696 {"imm8", "CLASS_IMM+(ARG_IMM8)", 2}, 697 {"imm16", "CLASS_IMM+(ARG_IMM16)", 4}, 698 {"imm32", "CLASS_IMM+(ARG_IMM32)", 8}, 699 {"nim4", "CLASS_IMM+(ARG_NIM4)", 2}, 700 {"nim8", "CLASS_IMM+(ARG_NIM8)", 2}, 701 {"0ccc", "CLASS_0CCC", 1}, 702 {"1ccc", "CLASS_1CCC", 1}, 703 {"disp8", "CLASS_DISP8", 2}, 704 {"0disp7", "CLASS_0DISP7", 2}, 705 {"1disp7", "CLASS_1DISP7", 2}, 706 {"01ii", "CLASS_01II", 1}, 707 {"00ii", "CLASS_00II", 1}, 708 709 {"iiii", "CLASS_IGNORE", 1}, 710 {0, 0} 701 711 }; 702 712 … … 764 774 int 765 775 chewname (name) 766 char * name;776 char **name; 767 777 { 768 778 char *n; 769 779 int nargs = 0; 770 780 771 n = name; 772 printf ("\""); 781 n = *name; 773 782 while (*n && !iswhite (*n)) 774 { 775 printf ("%c", *n); 776 n++; 777 } 778 printf ("\","); /* Scan the operands and make entires for 779 them -remember indirect things */ 780 781 n = name; 782 printf ("OPC_"); 783 while (*n && !iswhite (*n)) 784 { 785 printf ("%c", *n); 786 n++; 787 } 788 printf (",0,{"); 789 783 n++; 784 785 if (*n) 786 { 787 size_t len = n - *name; 788 char *newname = xmalloc (len + 1); 789 memcpy (newname, *name, len); 790 newname[len] = 0; 791 *name = newname; 792 } 793 794 printf ("\"%s\",OPC_%s,0,{", *name, *name); 795 796 /* Scan the operands and make entries for them. 797 Remember indirect things. */ 790 798 while (*n) 791 799 { … … 806 814 } 807 815 808 static 816 static 809 817 void 810 818 sub (x, c) … … 894 902 { 895 903 int c = count (); 896 struct op *new = xmalloc (sizeof (struct op) * c);904 struct op *new = (struct op *) xmalloc (sizeof (struct op) * c); 897 905 struct op *p = opt; 898 906 memcpy (new, p, c * sizeof (struct op)); … … 945 953 } 946 954 947 static 955 static 948 956 void 949 957 gas () … … 951 959 int c = count (); 952 960 struct op *p = opt; 953 int idx = 0;961 int idx = -1; 954 962 char *oldname = ""; 955 struct op *new = xmalloc (sizeof (struct op) * c);963 struct op *new = (struct op *) xmalloc (sizeof (struct op) * c); 956 964 957 965 memcpy (new, p, c * sizeof (struct op)); … … 960 968 qsort (new, c, sizeof (struct op), func); 961 969 962 printf (" /* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */\n"); 970 printf ("/* DO NOT EDIT! -*- buffer-read-only: t -*-\n"); 971 printf (" This file is automatically generated by z8kgen. */\n\n"); 963 972 964 973 printf ("#define ARG_MASK 0x0f\n"); … … 987 996 988 997 printf ("#define ARG_DISP12 0x0b\n"); 998 printf ("#define ARG_NIM4 0x0c\n"); 989 999 printf ("#define ARG_DISP8 0x0c\n"); 990 1000 printf ("#define ARG_IMM4M1 0x0d\n"); … … 998 1008 printf ("#define CLASS_CC 0x70\n"); 999 1009 printf ("#define CLASS_CTRL 0x80\n"); 1010 printf ("#define CLASS_IGNORE 0x90\n"); 1000 1011 printf ("#define CLASS_ADDRESS 0xd0\n"); 1001 1012 printf ("#define CLASS_0CCC 0xe0\n"); … … 1204 1215 printf ("#define OPC_rsvdb9 172\n"); 1205 1216 printf ("#define OPC_rsvdbf 172\n"); 1217 printf ("#define OPC_outi 173\n"); 1218 printf ("#define OPC_ldctlb 174\n"); 1219 printf ("#define OPC_sin 175\n"); 1220 printf ("#define OPC_trtdb 176\n"); 1206 1221 #if 0 1207 1222 for (i = 0; toks[i].token; i++) 1208 1223 printf ("#define %s\t0x%x\n", toks[i].token, i * 16); 1209 1224 #endif 1210 printf (" typedef struct {\n");1225 printf ("\ntypedef struct {\n"); 1211 1226 1212 1227 printf ("#ifdef NICENAMES\n"); 1213 printf (" char *nicename;\n");1214 printf (" int type;\n");1215 printf (" int cycles;\n");1216 printf (" int flags;\n");1228 printf (" const char *nicename;\n"); 1229 printf (" int type;\n"); 1230 printf (" int cycles;\n"); 1231 printf (" int flags;\n"); 1217 1232 printf ("#endif\n"); 1218 printf (" char *name;\n");1219 printf (" unsigned char opcode;\n");1220 printf (" void (*func)();\n");1221 printf (" unsigned int arg_info[4];\n");1222 printf (" unsigned int byte_info[%d];\n", BYTE_INFO_LEN);1223 printf (" int noperands;\n");1224 printf (" int length;\n");1225 printf (" int idx;\n");1226 printf ("} opcode_entry_type;\n ");1233 printf (" const char *name;\n"); 1234 printf (" unsigned char opcode;\n"); 1235 printf (" void (*func) PARAMS ((void));\n"); 1236 printf (" unsigned int arg_info[4];\n"); 1237 printf (" unsigned int byte_info[%d];\n", BYTE_INFO_LEN); 1238 printf (" int noperands;\n"); 1239 printf (" int length;\n"); 1240 printf (" int idx;\n"); 1241 printf ("} opcode_entry_type;\n\n"); 1227 1242 printf ("#ifdef DEFINE_TABLE\n"); 1228 printf (" opcode_entry_type z8k_table[] = {\n");1243 printf ("const opcode_entry_type z8k_table[] = {\n"); 1229 1244 1230 1245 while (new->flags && new->flags[0]) … … 1233 1248 int length; 1234 1249 1235 printf ("\n \n/* %s *** %s */\n", new->bits, new->name);1250 printf ("\n/* %s *** %s */\n", new->bits, new->name); 1236 1251 printf ("{\n"); 1237 1252 1238 1253 printf ("#ifdef NICENAMES\n"); 1239 printf ("\"%s\",%d,%d, \n", new->name, new->type, new->cycles);1254 printf ("\"%s\",%d,%d,", new->name, new->type, new->cycles); 1240 1255 { 1241 1256 int answer = 0; … … 1255 1270 printf ("#endif\n"); 1256 1271 1257 nargs = chewname ( new->name);1272 nargs = chewname (&new->name); 1258 1273 1259 1274 printf ("\n\t"); … … 1263 1278 abort(); 1264 1279 1280 if (strcmp (oldname, new->name) != 0) 1281 idx++; 1265 1282 printf (",%d,%d,%d", nargs, length, idx); 1266 idx++;1267 1283 oldname = new->name; 1268 1284 printf ("},\n"); 1269 1285 new++; 1270 1286 } 1271 printf ("0,0};\n"); 1287 printf ("\n/* end marker */\n"); 1288 printf ("{\n#ifdef NICENAMES\nNULL,0,0,\n0,\n#endif\n"); 1289 printf ("NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}\n};\n"); 1272 1290 printf ("#endif\n"); 1273 1291 } … … 1310 1328 printf ("-h : generate new table for humans\n"); 1311 1329 } 1312 return 0;1330 return 0; 1313 1331 } -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.