home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / gdb-4.9 / opcodes / z8k-opc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-05-12  |  118.0 KB  |  4,427 lines

  1.             /* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */
  2. #define ARG_MASK 0x0f
  3. #define ARG_SRC 0x01
  4. #define ARG_DST 0x02
  5. #define ARG_RS 0x01
  6. #define ARG_RD 0x02
  7. #define ARG_RA 0x03
  8. #define ARG_RB 0x04
  9. #define ARG_RR 0x05
  10. #define ARG_RX 0x06
  11. #define ARG_IMM4 0x01
  12. #define ARG_IMM8 0x02
  13. #define ARG_IMM16 0x03
  14. #define ARG_IMM32 0x04
  15. #define ARG_IMMN 0x05
  16. #define ARG_IMMNMINUS1 0x05
  17. #define ARG_IMM_1 0x06
  18. #define ARG_IMM_2 0x07
  19. #define ARG_DISP16 0x08
  20. #define ARG_NIM8 0x09
  21. #define ARG_IMM2 0x0a
  22. #define ARG_IMM1OR2 0x0b
  23. #define ARG_DISP12 0x0b
  24. #define ARG_DISP8 0x0c
  25. #define ARG_IMM4M1 0x0d
  26. #define CLASS_MASK 0xfff0
  27. #define CLASS_X 0x10
  28. #define CLASS_BA 0x20
  29. #define CLASS_DA 0x30
  30. #define CLASS_BX 0x40
  31. #define CLASS_DISP 0x50
  32. #define CLASS_IMM 0x60
  33. #define CLASS_CC 0x70
  34. #define CLASS_CTRL 0x80
  35. #define CLASS_ADDRESS 0xd0
  36. #define CLASS_0CCC 0xe0
  37. #define CLASS_1CCC 0xf0
  38. #define CLASS_0DISP7 0x100
  39. #define CLASS_1DISP7 0x200
  40. #define CLASS_01II 0x300
  41. #define CLASS_00II 0x400
  42. #define CLASS_BIT 0x500
  43. #define CLASS_FLAGS 0x600
  44. #define CLASS_IR 0x700
  45. #define CLASS_DISP8 0x800
  46. #define CLASS_BIT_1OR2 0x900
  47. #define CLASS_REG 0x7000
  48. #define CLASS_REG_BYTE 0x2000
  49. #define CLASS_REG_WORD 0x3000
  50. #define CLASS_REG_QUAD 0x4000
  51. #define CLASS_REG_LONG 0x5000
  52. #define CLASS_REGN0 0x8000
  53. #define OPC_adc 0
  54. #define OPC_adcb 1
  55. #define OPC_add 2
  56. #define OPC_addb 3
  57. #define OPC_addl 4
  58. #define OPC_and 5
  59. #define OPC_andb 6
  60. #define OPC_bit 7
  61. #define OPC_bitb 8
  62. #define OPC_call 9
  63. #define OPC_calr 10
  64. #define OPC_clr 11
  65. #define OPC_clrb 12
  66. #define OPC_com 13
  67. #define OPC_comb 14
  68. #define OPC_comflg 15
  69. #define OPC_cp 16
  70. #define OPC_cpb 17
  71. #define OPC_cpd 18
  72. #define OPC_cpdb 19
  73. #define OPC_cpdr 20
  74. #define OPC_cpdrb 21
  75. #define OPC_cpi 22
  76. #define OPC_cpib 23
  77. #define OPC_cpir 24
  78. #define OPC_cpirb 25
  79. #define OPC_cpl 26
  80. #define OPC_cpsd 27
  81. #define OPC_cpsdb 28
  82. #define OPC_cpsdr 29
  83. #define OPC_cpsdrb 30
  84. #define OPC_cpsi 31
  85. #define OPC_cpsib 32
  86. #define OPC_cpsir 33
  87. #define OPC_cpsirb 34
  88. #define OPC_dab 35
  89. #define OPC_dbjnz 36
  90. #define OPC_dec 37
  91. #define OPC_decb 38
  92. #define OPC_di 39
  93. #define OPC_div 40
  94. #define OPC_divl 41
  95. #define OPC_djnz 42
  96. #define OPC_ei 43
  97. #define OPC_ex 44
  98. #define OPC_exb 45
  99. #define OPC_exts 46
  100. #define OPC_extsb 47
  101. #define OPC_extsl 48
  102. #define OPC_halt 49
  103. #define OPC_in 50
  104. #define OPC_inb 51
  105. #define OPC_inc 52
  106. #define OPC_incb 53
  107. #define OPC_ind 54
  108. #define OPC_indb 55
  109. #define OPC_inib 56
  110. #define OPC_inibr 57
  111. #define OPC_iret 58
  112. #define OPC_jp 59
  113. #define OPC_jr 60
  114. #define OPC_ld 61
  115. #define OPC_lda 62
  116. #define OPC_ldar 63
  117. #define OPC_ldb 64
  118. #define OPC_ldctl 65
  119. #define OPC_ldir 66
  120. #define OPC_ldirb 67
  121. #define OPC_ldk 68
  122. #define OPC_ldl 69
  123. #define OPC_ldm 70
  124. #define OPC_ldps 71
  125. #define OPC_ldr 72
  126. #define OPC_ldrb 73
  127. #define OPC_ldrl 74
  128. #define OPC_mbit 75
  129. #define OPC_mreq 76
  130. #define OPC_mres 77
  131. #define OPC_mset 78
  132. #define OPC_mult 79
  133. #define OPC_multl 80
  134. #define OPC_neg 81
  135. #define OPC_negb 82
  136. #define OPC_nop 83
  137. #define OPC_or 84
  138. #define OPC_orb 85
  139. #define OPC_out 86
  140. #define OPC_outb 87
  141. #define OPC_outd 88
  142. #define OPC_outdb 89
  143. #define OPC_outib 90
  144. #define OPC_outibr 91
  145. #define OPC_pop 92
  146. #define OPC_popl 93
  147. #define OPC_push 94
  148. #define OPC_pushl 95
  149. #define OPC_res 96
  150. #define OPC_resb 97
  151. #define OPC_resflg 98
  152. #define OPC_ret 99
  153. #define OPC_rl 100
  154. #define OPC_rlb 101
  155. #define OPC_rlc 102
  156. #define OPC_rlcb 103
  157. #define OPC_rldb 104
  158. #define OPC_rr 105
  159. #define OPC_rrb 106
  160. #define OPC_rrc 107
  161. #define OPC_rrcb 108
  162. #define OPC_rrdb 109
  163. #define OPC_sbc 110
  164. #define OPC_sbcb 111
  165. #define OPC_sda 112
  166. #define OPC_sdab 113
  167. #define OPC_sdal 114
  168. #define OPC_sdl 115
  169. #define OPC_sdlb 116
  170. #define OPC_sdll 117
  171. #define OPC_set 118
  172. #define OPC_setb 119
  173. #define OPC_setflg 120
  174. #define OPC_sinb 121
  175. #define OPC_sind 122
  176. #define OPC_sindb 123
  177. #define OPC_sinib 124
  178. #define OPC_sinibr 125
  179. #define OPC_sla 126
  180. #define OPC_slab 127
  181. #define OPC_slal 128
  182. #define OPC_sll 129
  183. #define OPC_sllb 130
  184. #define OPC_slll 131
  185. #define OPC_sout 132
  186. #define OPC_soutb 133
  187. #define OPC_soutd 134
  188. #define OPC_soutdb 135
  189. #define OPC_soutib 136
  190. #define OPC_soutibr 137
  191. #define OPC_sra 138
  192. #define OPC_srab 139
  193. #define OPC_sral 140
  194. #define OPC_srl 141
  195. #define OPC_srlb 142
  196. #define OPC_srll 143
  197. #define OPC_sub 144
  198. #define OPC_subb 145
  199. #define OPC_subl 146
  200. #define OPC_tcc 147
  201. #define OPC_tccb 148
  202. #define OPC_test 149
  203. #define OPC_testb 150
  204. #define OPC_testl 151
  205. #define OPC_trdb 152
  206. #define OPC_trdrb 153
  207. #define OPC_trib 154
  208. #define OPC_trirb 155
  209. #define OPC_trtdrb 156
  210. #define OPC_trtib 157
  211. #define OPC_trtirb 158
  212. #define OPC_trtrb 159
  213. #define OPC_tset 160
  214. #define OPC_tsetb 161
  215. #define OPC_xor 162
  216. #define OPC_xorb 163
  217. #define OPC_ldd  164 
  218. #define OPC_lddb  165 
  219. #define OPC_lddr  166 
  220. #define OPC_lddrb 167  
  221. #define OPC_ldi  168 
  222. #define OPC_ldib 169  
  223. #define OPC_sc   170
  224. #define OPC_bpt   171
  225. #define OPC_ext0e 172
  226. #define OPC_ext0f 172
  227. #define OPC_ext8e 172
  228. #define OPC_ext8f 172
  229. #define OPC_rsvd36 172
  230. #define OPC_rsvd38 172
  231. #define OPC_rsvd78 172
  232. #define OPC_rsvd7e 172
  233. #define OPC_rsvd9d 172
  234. #define OPC_rsvd9f 172
  235. #define OPC_rsvdb9 172
  236. #define OPC_rsvdbf 172
  237. typedef struct {
  238. #ifdef NICENAMES
  239. char *nicename;
  240. int type;
  241. int cycles;
  242. int flags;
  243. #endif
  244. char *name;
  245. unsigned char opcode;
  246. void (*func)();
  247. unsigned short arg_info[4];
  248. unsigned short byte_info[10];
  249. int noperands;
  250. int length;
  251. int idx;
  252. } opcode_entry_type;
  253. #ifdef DEFINE_TABLE
  254. opcode_entry_type z8k_table[] = {
  255.  
  256.  
  257. /* 1011 0101 ssss dddd *** adc rd,rs */
  258. {
  259. #ifdef NICENAMES
  260. "adc rd,rs",16,5,
  261. 0x3c,
  262. #endif
  263. "adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  264.     {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
  265.  
  266.  
  267. /* 1011 0100 ssss dddd *** adcb rbd,rbs */
  268. {
  269. #ifdef NICENAMES
  270. "adcb rbd,rbs",8,5,
  271. 0x3f,
  272. #endif
  273. "adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  274.     {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
  275.  
  276.  
  277. /* 0000 0001 ssN0 dddd *** add rd,@rs */
  278. {
  279. #ifdef NICENAMES
  280. "add rd,@rs",16,7,
  281. 0x3c,
  282. #endif
  283. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  284.     {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
  285.  
  286.  
  287. /* 0100 0001 0000 dddd address_src *** add rd,address_src */
  288. {
  289. #ifdef NICENAMES
  290. "add rd,address_src",16,9,
  291. 0x3c,
  292. #endif
  293. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  294.     {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
  295.  
  296.  
  297. /* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
  298. {
  299. #ifdef NICENAMES
  300. "add rd,address_src(rs)",16,10,
  301. 0x3c,
  302. #endif
  303. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  304.     {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
  305.  
  306.  
  307. /* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
  308. {
  309. #ifdef NICENAMES
  310. "add rd,imm16",16,7,
  311. 0x3c,
  312. #endif
  313. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  314.     {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
  315.  
  316.  
  317. /* 1000 0001 ssss dddd *** add rd,rs */
  318. {
  319. #ifdef NICENAMES
  320. "add rd,rs",16,4,
  321. 0x3c,
  322. #endif
  323. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  324.     {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
  325.  
  326.  
  327. /* 0000 0000 ssN0 dddd *** addb rbd,@rs */
  328. {
  329. #ifdef NICENAMES
  330. "addb rbd,@rs",8,7,
  331. 0x3f,
  332. #endif
  333. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  334.     {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},
  335.  
  336.  
  337. /* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
  338. {
  339. #ifdef NICENAMES
  340. "addb rbd,address_src",8,9,
  341. 0x3f,
  342. #endif
  343. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  344.     {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,8},
  345.  
  346.  
  347. /* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
  348. {
  349. #ifdef NICENAMES
  350. "addb rbd,address_src(rs)",8,10,
  351. 0x3f,
  352. #endif
  353. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  354.     {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,9},
  355.  
  356.  
  357. /* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
  358. {
  359. #ifdef NICENAMES
  360. "addb rbd,imm8",8,7,
  361. 0x3f,
  362. #endif
  363. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  364.     {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,10},
  365.  
  366.  
  367. /* 1000 0000 ssss dddd *** addb rbd,rbs */
  368. {
  369. #ifdef NICENAMES
  370. "addb rbd,rbs",8,4,
  371. 0x3f,
  372. #endif
  373. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  374.     {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},
  375.  
  376.  
  377. /* 0001 0110 ssN0 dddd *** addl rrd,@rs */
  378. {
  379. #ifdef NICENAMES
  380. "addl rrd,@rs",32,14,
  381. 0x3c,
  382. #endif
  383. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  384.     {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,12},
  385.  
  386.  
  387. /* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
  388. {
  389. #ifdef NICENAMES
  390. "addl rrd,address_src",32,15,
  391. 0x3c,
  392. #endif
  393. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  394.     {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,13},
  395.  
  396.  
  397. /* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
  398. {
  399. #ifdef NICENAMES
  400. "addl rrd,address_src(rs)",32,16,
  401. 0x3c,
  402. #endif
  403. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  404.     {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,14},
  405.  
  406.  
  407. /* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
  408. {
  409. #ifdef NICENAMES
  410. "addl rrd,imm32",32,14,
  411. 0x3c,
  412. #endif
  413. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  414.     {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},
  415.  
  416.  
  417. /* 1001 0110 ssss dddd *** addl rrd,rrs */
  418. {
  419. #ifdef NICENAMES
  420. "addl rrd,rrs",32,8,
  421. 0x3c,
  422. #endif
  423. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  424.     {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},
  425.  
  426.  
  427. /* 0000 0111 ssN0 dddd *** and rd,@rs */
  428. {
  429. #ifdef NICENAMES
  430. "and rd,@rs",16,7,
  431. 0x18,
  432. #endif
  433. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  434.     {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
  435.  
  436.  
  437. /* 0100 0111 0000 dddd address_src *** and rd,address_src */
  438. {
  439. #ifdef NICENAMES
  440. "and rd,address_src",16,9,
  441. 0x18,
  442. #endif
  443. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  444.     {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
  445.  
  446.  
  447. /* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
  448. {
  449. #ifdef NICENAMES
  450. "and rd,address_src(rs)",16,10,
  451. 0x18,
  452. #endif
  453. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  454.     {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
  455.  
  456.  
  457. /* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
  458. {
  459. #ifdef NICENAMES
  460. "and rd,imm16",16,7,
  461. 0x18,
  462. #endif
  463. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  464.     {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},
  465.  
  466.  
  467. /* 1000 0111 ssss dddd *** and rd,rs */
  468. {
  469. #ifdef NICENAMES
  470. "and rd,rs",16,4,
  471. 0x18,
  472. #endif
  473. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  474.     {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},
  475.  
  476.  
  477. /* 0000 0110 ssN0 dddd *** andb rbd,@rs */
  478. {
  479. #ifdef NICENAMES
  480. "andb rbd,@rs",8,7,
  481. 0x1c,
  482. #endif
  483. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  484.     {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},
  485.  
  486.  
  487. /* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
  488. {
  489. #ifdef NICENAMES
  490. "andb rbd,address_src",8,9,
  491. 0x1c,
  492. #endif
  493. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  494.     {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,23},
  495.  
  496.  
  497. /* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
  498. {
  499. #ifdef NICENAMES
  500. "andb rbd,address_src(rs)",8,10,
  501. 0x1c,
  502. #endif
  503. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  504.     {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,24},
  505.  
  506.  
  507. /* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
  508. {
  509. #ifdef NICENAMES
  510. "andb rbd,imm8",8,7,
  511. 0x1c,
  512. #endif
  513. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  514.     {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,25},
  515.  
  516.  
  517. /* 1000 0110 ssss dddd *** andb rbd,rbs */
  518. {
  519. #ifdef NICENAMES
  520. "andb rbd,rbs",8,4,
  521. 0x1c,
  522. #endif
  523. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  524.     {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},
  525.  
  526.  
  527. /* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
  528. {
  529. #ifdef NICENAMES
  530. "bit @rd,imm4",16,8,
  531. 0x10,
  532. #endif
  533. "bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  534.     {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},
  535.  
  536.  
  537. /* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
  538. {
  539. #ifdef NICENAMES
  540. "bit address_dst(rd),imm4",16,11,
  541. 0x10,
  542. #endif
  543. "bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  544.     {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,28},
  545.  
  546.  
  547. /* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
  548. {
  549. #ifdef NICENAMES
  550. "bit address_dst,imm4",16,10,
  551. 0x10,
  552. #endif
  553. "bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  554.     {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,29},
  555.  
  556.  
  557. /* 1010 0111 dddd imm4 *** bit rd,imm4 */
  558. {
  559. #ifdef NICENAMES
  560. "bit rd,imm4",16,4,
  561. 0x10,
  562. #endif
  563. "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  564.     {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},
  565.  
  566.  
  567. /* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
  568. {
  569. #ifdef NICENAMES
  570. "bit rd,rs",16,10,
  571. 0x10,
  572. #endif
  573. "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  574.     {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,31},
  575.  
  576.  
  577. /* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
  578. {
  579. #ifdef NICENAMES
  580. "bitb @rd,imm4",8,8,
  581. 0x10,
  582. #endif
  583. "bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  584.     {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},
  585.  
  586.  
  587. /* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
  588. {
  589. #ifdef NICENAMES
  590. "bitb address_dst(rd),imm4",8,11,
  591. 0x10,
  592. #endif
  593. "bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  594.     {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,33},
  595.  
  596.  
  597. /* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
  598. {
  599. #ifdef NICENAMES
  600. "bitb address_dst,imm4",8,10,
  601. 0x10,
  602. #endif
  603. "bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  604.     {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,34},
  605.  
  606.  
  607. /* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
  608. {
  609. #ifdef NICENAMES
  610. "bitb rbd,imm4",8,4,
  611. 0x10,
  612. #endif
  613. "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  614.     {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},
  615.  
  616.  
  617. /* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
  618. {
  619. #ifdef NICENAMES
  620. "bitb rbd,rs",8,10,
  621. 0x10,
  622. #endif
  623. "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  624.     {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,36},
  625.  
  626.  
  627. /* 0011 0110 0000 0000 *** bpt */
  628. {
  629. #ifdef NICENAMES
  630. "bpt",8,2,
  631. 0x00,
  632. #endif
  633. "bpt",OPC_bpt,0,{0},
  634.     {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,37},
  635.  
  636.  
  637. /* 0001 1111 ddN0 0000 *** call @rd */
  638. {
  639. #ifdef NICENAMES
  640. "call @rd",32,10,
  641. 0x00,
  642. #endif
  643. "call",OPC_call,0,{CLASS_IR+(ARG_RD),},
  644.     {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,38},
  645.  
  646.  
  647. /* 0101 1111 0000 0000 address_dst *** call address_dst */
  648. {
  649. #ifdef NICENAMES
  650. "call address_dst",32,12,
  651. 0x00,
  652. #endif
  653. "call",OPC_call,0,{CLASS_DA+(ARG_DST),},
  654.     {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,39},
  655.  
  656.  
  657. /* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
  658. {
  659. #ifdef NICENAMES
  660. "call address_dst(rd)",32,13,
  661. 0x00,
  662. #endif
  663. "call",OPC_call,0,{CLASS_X+(ARG_RD),},
  664.     {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,40},
  665.  
  666.  
  667. /* 1101 disp12 *** calr disp12 */
  668. {
  669. #ifdef NICENAMES
  670. "calr disp12",16,10,
  671. 0x00,
  672. #endif
  673. "calr",OPC_calr,0,{CLASS_DISP,},
  674.     {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,41},
  675.  
  676.  
  677. /* 0000 1101 ddN0 1000 *** clr @rd */
  678. {
  679. #ifdef NICENAMES
  680. "clr @rd",16,8,
  681. 0x00,
  682. #endif
  683. "clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
  684.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,42},
  685.  
  686.  
  687. /* 0100 1101 0000 1000 address_dst *** clr address_dst */
  688. {
  689. #ifdef NICENAMES
  690. "clr address_dst",16,11,
  691. 0x00,
  692. #endif
  693. "clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
  694.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,43},
  695.  
  696.  
  697. /* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
  698. {
  699. #ifdef NICENAMES
  700. "clr address_dst(rd)",16,12,
  701. 0x00,
  702. #endif
  703. "clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
  704.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,44},
  705.  
  706.  
  707. /* 1000 1101 dddd 1000 *** clr rd */
  708. {
  709. #ifdef NICENAMES
  710. "clr rd",16,7,
  711. 0x00,
  712. #endif
  713. "clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
  714.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},
  715.  
  716.  
  717. /* 0000 1100 ddN0 1000 *** clrb @rd */
  718. {
  719. #ifdef NICENAMES
  720. "clrb @rd",8,8,
  721. 0x00,
  722. #endif
  723. "clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
  724.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,46},
  725.  
  726.  
  727. /* 0100 1100 0000 1000 address_dst *** clrb address_dst */
  728. {
  729. #ifdef NICENAMES
  730. "clrb address_dst",8,11,
  731. 0x00,
  732. #endif
  733. "clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
  734.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,47},
  735.  
  736.  
  737. /* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
  738. {
  739. #ifdef NICENAMES
  740. "clrb address_dst(rd)",8,12,
  741. 0x00,
  742. #endif
  743. "clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
  744.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,48},
  745.  
  746.  
  747. /* 1000 1100 dddd 1000 *** clrb rbd */
  748. {
  749. #ifdef NICENAMES
  750. "clrb rbd",8,7,
  751. 0x00,
  752. #endif
  753. "clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
  754.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,49},
  755.  
  756.  
  757. /* 0000 1101 ddN0 0000 *** com @rd */
  758. {
  759. #ifdef NICENAMES
  760. "com @rd",16,12,
  761. 0x18,
  762. #endif
  763. "com",OPC_com,0,{CLASS_IR+(ARG_RD),},
  764.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,50},
  765.  
  766.  
  767. /* 0100 1101 0000 0000 address_dst *** com address_dst */
  768. {
  769. #ifdef NICENAMES
  770. "com address_dst",16,15,
  771. 0x18,
  772. #endif
  773. "com",OPC_com,0,{CLASS_DA+(ARG_DST),},
  774.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,51},
  775.  
  776.  
  777. /* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
  778. {
  779. #ifdef NICENAMES
  780. "com address_dst(rd)",16,16,
  781. 0x18,
  782. #endif
  783. "com",OPC_com,0,{CLASS_X+(ARG_RD),},
  784.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,52},
  785.  
  786.  
  787. /* 1000 1101 dddd 0000 *** com rd */
  788. {
  789. #ifdef NICENAMES
  790. "com rd",16,7,
  791. 0x18,
  792. #endif
  793. "com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
  794.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
  795.  
  796.  
  797. /* 0000 1100 ddN0 0000 *** comb @rd */
  798. {
  799. #ifdef NICENAMES
  800. "comb @rd",8,12,
  801. 0x1c,
  802. #endif
  803. "comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
  804.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,54},
  805.  
  806.  
  807. /* 0100 1100 0000 0000 address_dst *** comb address_dst */
  808. {
  809. #ifdef NICENAMES
  810. "comb address_dst",8,15,
  811. 0x1c,
  812. #endif
  813. "comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
  814.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,55},
  815.  
  816.  
  817. /* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
  818. {
  819. #ifdef NICENAMES
  820. "comb address_dst(rd)",8,16,
  821. 0x1c,
  822. #endif
  823. "comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
  824.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,56},
  825.  
  826.  
  827. /* 1000 1100 dddd 0000 *** comb rbd */
  828. {
  829. #ifdef NICENAMES
  830. "comb rbd",8,7,
  831. 0x1c,
  832. #endif
  833. "comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
  834.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,57},
  835.  
  836.  
  837. /* 1000 1101 imm4 0101 *** comflg flags */
  838. {
  839. #ifdef NICENAMES
  840. "comflg flags",16,7,
  841. 0x3c,
  842. #endif
  843. "comflg",OPC_comflg,0,{CLASS_FLAGS,},
  844.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM4),CLASS_BIT+5,0,0,0,0,0,},1,2,58},
  845.  
  846.  
  847. /* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
  848. {
  849. #ifdef NICENAMES
  850. "cp @rd,imm16",16,11,
  851. 0x3c,
  852. #endif
  853. "cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  854.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,59},
  855.  
  856.  
  857. /* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
  858. {
  859. #ifdef NICENAMES
  860. "cp address_dst(rd),imm16",16,15,
  861. 0x3c,
  862. #endif
  863. "cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  864.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,60},
  865.  
  866.  
  867. /* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
  868. {
  869. #ifdef NICENAMES
  870. "cp address_dst,imm16",16,14,
  871. 0x3c,
  872. #endif
  873. "cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
  874.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,61},
  875.  
  876.  
  877. /* 0000 1011 ssN0 dddd *** cp rd,@rs */
  878. {
  879. #ifdef NICENAMES
  880. "cp rd,@rs",16,7,
  881. 0x3c,
  882. #endif
  883. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  884.     {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,62},
  885.  
  886.  
  887. /* 0100 1011 0000 dddd address_src *** cp rd,address_src */
  888. {
  889. #ifdef NICENAMES
  890. "cp rd,address_src",16,9,
  891. 0x3c,
  892. #endif
  893. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  894.     {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,63},
  895.  
  896.  
  897. /* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
  898. {
  899. #ifdef NICENAMES
  900. "cp rd,address_src(rs)",16,10,
  901. 0x3c,
  902. #endif
  903. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  904.     {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,64},
  905.  
  906.  
  907. /* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
  908. {
  909. #ifdef NICENAMES
  910. "cp rd,imm16",16,7,
  911. 0x3c,
  912. #endif
  913. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  914.     {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,65},
  915.  
  916.  
  917. /* 1000 1011 ssss dddd *** cp rd,rs */
  918. {
  919. #ifdef NICENAMES
  920. "cp rd,rs",16,4,
  921. 0x3c,
  922. #endif
  923. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  924.     {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
  925.  
  926.  
  927. /* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
  928. {
  929. #ifdef NICENAMES
  930. "cpb @rd,imm8",8,11,
  931. 0x3c,
  932. #endif
  933. "cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  934.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,67},
  935.  
  936.  
  937. /* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
  938. {
  939. #ifdef NICENAMES
  940. "cpb address_dst(rd),imm8",8,15,
  941. 0x3c,
  942. #endif
  943. "cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  944.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,68},
  945.  
  946.  
  947. /* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
  948. {
  949. #ifdef NICENAMES
  950. "cpb address_dst,imm8",8,14,
  951. 0x3c,
  952. #endif
  953. "cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
  954.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,69},
  955.  
  956.  
  957. /* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
  958. {
  959. #ifdef NICENAMES
  960. "cpb rbd,@rs",8,7,
  961. 0x3c,
  962. #endif
  963. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  964.     {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,70},
  965.  
  966.  
  967. /* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
  968. {
  969. #ifdef NICENAMES
  970. "cpb rbd,address_src",8,9,
  971. 0x3c,
  972. #endif
  973. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  974.     {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
  975.  
  976.  
  977. /* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
  978. {
  979. #ifdef NICENAMES
  980. "cpb rbd,address_src(rs)",8,10,
  981. 0x3c,
  982. #endif
  983. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  984.     {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
  985.  
  986.  
  987. /* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
  988. {
  989. #ifdef NICENAMES
  990. "cpb rbd,imm8",8,7,
  991. 0x3c,
  992. #endif
  993. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  994.     {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,73},
  995.  
  996.  
  997. /* 1000 1010 ssss dddd *** cpb rbd,rbs */
  998. {
  999. #ifdef NICENAMES
  1000. "cpb rbd,rbs",8,4,
  1001. 0x3c,
  1002. #endif
  1003. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  1004.     {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
  1005.  
  1006.  
  1007. /* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
  1008. {
  1009. #ifdef NICENAMES
  1010. "cpd rd,@rs,rr,cc",16,11,
  1011. 0x3c,
  1012. #endif
  1013. "cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1014.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,75},
  1015.  
  1016.  
  1017. /* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
  1018. {
  1019. #ifdef NICENAMES
  1020. "cpdb rbd,@rs,rr,cc",8,11,
  1021. 0x3c,
  1022. #endif
  1023. "cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1024.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,76},
  1025.  
  1026.  
  1027. /* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
  1028. {
  1029. #ifdef NICENAMES
  1030. "cpdr rd,@rs,rr,cc",16,11,
  1031. 0x3c,
  1032. #endif
  1033. "cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1034.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,77},
  1035.  
  1036.  
  1037. /* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
  1038. {
  1039. #ifdef NICENAMES
  1040. "cpdrb rbd,@rs,rr,cc",8,11,
  1041. 0x3c,
  1042. #endif
  1043. "cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1044.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,78},
  1045.  
  1046.  
  1047. /* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
  1048. {
  1049. #ifdef NICENAMES
  1050. "cpi rd,@rs,rr,cc",16,11,
  1051. 0x3c,
  1052. #endif
  1053. "cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1054.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,79},
  1055.  
  1056.  
  1057. /* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
  1058. {
  1059. #ifdef NICENAMES
  1060. "cpib rbd,@rs,rr,cc",8,11,
  1061. 0x3c,
  1062. #endif
  1063. "cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1064.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,80},
  1065.  
  1066.  
  1067. /* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
  1068. {
  1069. #ifdef NICENAMES
  1070. "cpir rd,@rs,rr,cc",16,11,
  1071. 0x3c,
  1072. #endif
  1073. "cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1074.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,81},
  1075.  
  1076.  
  1077. /* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
  1078. {
  1079. #ifdef NICENAMES
  1080. "cpirb rbd,@rs,rr,cc",8,11,
  1081. 0x3c,
  1082. #endif
  1083. "cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1084.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,82},
  1085.  
  1086.  
  1087. /* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
  1088. {
  1089. #ifdef NICENAMES
  1090. "cpl rrd,@rs",32,14,
  1091. 0x3c,
  1092. #endif
  1093. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  1094.     {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,83},
  1095.  
  1096.  
  1097. /* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
  1098. {
  1099. #ifdef NICENAMES
  1100. "cpl rrd,address_src",32,15,
  1101. 0x3c,
  1102. #endif
  1103. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1104.     {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,84},
  1105.  
  1106.  
  1107. /* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
  1108. {
  1109. #ifdef NICENAMES
  1110. "cpl rrd,address_src(rs)",32,16,
  1111. 0x3c,
  1112. #endif
  1113. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  1114.     {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,85},
  1115.  
  1116.  
  1117. /* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
  1118. {
  1119. #ifdef NICENAMES
  1120. "cpl rrd,imm32",32,14,
  1121. 0x3c,
  1122. #endif
  1123. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  1124.     {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
  1125.  
  1126.  
  1127. /* 1001 0000 ssss dddd *** cpl rrd,rrs */
  1128. {
  1129. #ifdef NICENAMES
  1130. "cpl rrd,rrs",32,8,
  1131. 0x3c,
  1132. #endif
  1133. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  1134.     {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,87},
  1135.  
  1136.  
  1137. /* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
  1138. {
  1139. #ifdef NICENAMES
  1140. "cpsd @rd,@rs,rr,cc",16,11,
  1141. 0x3c,
  1142. #endif
  1143. "cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1144.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,88},
  1145.  
  1146.  
  1147. /* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
  1148. {
  1149. #ifdef NICENAMES
  1150. "cpsdb @rd,@rs,rr,cc",8,11,
  1151. 0x3c,
  1152. #endif
  1153. "cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1154.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,89},
  1155.  
  1156.  
  1157. /* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
  1158. {
  1159. #ifdef NICENAMES
  1160. "cpsdr @rd,@rs,rr,cc",16,11,
  1161. 0x3c,
  1162. #endif
  1163. "cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1164.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,90},
  1165.  
  1166.  
  1167. /* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
  1168. {
  1169. #ifdef NICENAMES
  1170. "cpsdrb @rd,@rs,rr,cc",8,11,
  1171. 0x3c,
  1172. #endif
  1173. "cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1174.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,91},
  1175.  
  1176.  
  1177. /* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
  1178. {
  1179. #ifdef NICENAMES
  1180. "cpsi @rd,@rs,rr,cc",16,11,
  1181. 0x3c,
  1182. #endif
  1183. "cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1184.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,92},
  1185.  
  1186.  
  1187. /* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
  1188. {
  1189. #ifdef NICENAMES
  1190. "cpsib @rd,@rs,rr,cc",8,11,
  1191. 0x3c,
  1192. #endif
  1193. "cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1194.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,93},
  1195.  
  1196.  
  1197. /* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
  1198. {
  1199. #ifdef NICENAMES
  1200. "cpsir @rd,@rs,rr,cc",16,11,
  1201. 0x3c,
  1202. #endif
  1203. "cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1204.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,94},
  1205.  
  1206.  
  1207. /* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
  1208. {
  1209. #ifdef NICENAMES
  1210. "cpsirb @rd,@rs,rr,cc",8,11,
  1211. 0x3c,
  1212. #endif
  1213. "cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1214.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,95},
  1215.  
  1216.  
  1217. /* 1011 0000 dddd 0000 *** dab rbd */
  1218. {
  1219. #ifdef NICENAMES
  1220. "dab rbd",8,5,
  1221. 0x38,
  1222. #endif
  1223. "dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
  1224.     {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,96},
  1225.  
  1226.  
  1227. /* 1111 dddd 1disp7 *** dbjnz rbd,disp7 */
  1228. {
  1229. #ifdef NICENAMES
  1230. "dbjnz rbd,disp7",16,11,
  1231. 0x00,
  1232. #endif
  1233. "dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
  1234.     {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,97},
  1235.  
  1236.  
  1237. /* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
  1238. {
  1239. #ifdef NICENAMES
  1240. "dec @rd,imm4m1",16,11,
  1241. 0x1c,
  1242. #endif
  1243. "dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1244.     {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,98},
  1245.  
  1246.  
  1247. /* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
  1248. {
  1249. #ifdef NICENAMES
  1250. "dec address_dst(rd),imm4m1",16,14,
  1251. 0x1c,
  1252. #endif
  1253. "dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1254.     {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,99},
  1255.  
  1256.  
  1257. /* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
  1258. {
  1259. #ifdef NICENAMES
  1260. "dec address_dst,imm4m1",16,13,
  1261. 0x1c,
  1262. #endif
  1263. "dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
  1264.     {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,100},
  1265.  
  1266.  
  1267. /* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
  1268. {
  1269. #ifdef NICENAMES
  1270. "dec rd,imm4m1",16,4,
  1271. 0x1c,
  1272. #endif
  1273. "dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1274.     {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,101},
  1275.  
  1276.  
  1277. /* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
  1278. {
  1279. #ifdef NICENAMES
  1280. "decb @rd,imm4m1",8,11,
  1281. 0x1c,
  1282. #endif
  1283. "decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1284.     {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,102},
  1285.  
  1286.  
  1287. /* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
  1288. {
  1289. #ifdef NICENAMES
  1290. "decb address_dst(rd),imm4m1",8,14,
  1291. 0x1c,
  1292. #endif
  1293. "decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1294.     {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,103},
  1295.  
  1296.  
  1297. /* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
  1298. {
  1299. #ifdef NICENAMES
  1300. "decb address_dst,imm4m1",8,13,
  1301. 0x1c,
  1302. #endif
  1303. "decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
  1304.     {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,104},
  1305.  
  1306.  
  1307. /* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
  1308. {
  1309. #ifdef NICENAMES
  1310. "decb rbd,imm4m1",8,4,
  1311. 0x1c,
  1312. #endif
  1313. "decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1314.     {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,105},
  1315.  
  1316.  
  1317. /* 0111 1100 0000 00ii *** di i2 */
  1318. {
  1319. #ifdef NICENAMES
  1320. "di i2",16,7,
  1321. 0x00,
  1322. #endif
  1323. "di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
  1324.     {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,106},
  1325.  
  1326.  
  1327. /* 0001 1011 ssN0 dddd *** div rrd,@rs */
  1328. {
  1329. #ifdef NICENAMES
  1330. "div rrd,@rs",16,107,
  1331. 0x3c,
  1332. #endif
  1333. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  1334.     {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,107},
  1335.  
  1336.  
  1337. /* 0101 1011 0000 dddd address_src *** div rrd,address_src */
  1338. {
  1339. #ifdef NICENAMES
  1340. "div rrd,address_src",16,107,
  1341. 0x3c,
  1342. #endif
  1343. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1344.     {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
  1345.  
  1346.  
  1347. /* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
  1348. {
  1349. #ifdef NICENAMES
  1350. "div rrd,address_src(rs)",16,107,
  1351. 0x3c,
  1352. #endif
  1353. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  1354.     {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,109},
  1355.  
  1356.  
  1357. /* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
  1358. {
  1359. #ifdef NICENAMES
  1360. "div rrd,imm16",16,107,
  1361. 0x3c,
  1362. #endif
  1363. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1364.     {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,110},
  1365.  
  1366.  
  1367. /* 1001 1011 ssss dddd *** div rrd,rs */
  1368. {
  1369. #ifdef NICENAMES
  1370. "div rrd,rs",16,107,
  1371. 0x3c,
  1372. #endif
  1373. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1374.     {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,111},
  1375.  
  1376.  
  1377. /* 0001 1010 ssN0 dddd *** divl rqd,@rs */
  1378. {
  1379. #ifdef NICENAMES
  1380. "divl rqd,@rs",32,744,
  1381. 0x3c,
  1382. #endif
  1383. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
  1384.     {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,112},
  1385.  
  1386.  
  1387. /* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
  1388. {
  1389. #ifdef NICENAMES
  1390. "divl rqd,address_src",32,745,
  1391. 0x3c,
  1392. #endif
  1393. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1394.     {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,113},
  1395.  
  1396.  
  1397. /* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
  1398. {
  1399. #ifdef NICENAMES
  1400. "divl rqd,address_src(rs)",32,746,
  1401. 0x3c,
  1402. #endif
  1403. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
  1404.     {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,114},
  1405.  
  1406.  
  1407. /* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
  1408. {
  1409. #ifdef NICENAMES
  1410. "divl rqd,imm32",32,744,
  1411. 0x3c,
  1412. #endif
  1413. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  1414.     {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,115},
  1415.  
  1416.  
  1417. /* 1001 1010 ssss dddd *** divl rqd,rrs */
  1418. {
  1419. #ifdef NICENAMES
  1420. "divl rqd,rrs",32,744,
  1421. 0x3c,
  1422. #endif
  1423. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  1424.     {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,116},
  1425.  
  1426.  
  1427. /* 1111 dddd 0disp7 *** djnz rd,disp7 */
  1428. {
  1429. #ifdef NICENAMES
  1430. "djnz rd,disp7",16,11,
  1431. 0x00,
  1432. #endif
  1433. "djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
  1434.     {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,117},
  1435.  
  1436.  
  1437. /* 0111 1100 0000 01ii *** ei i2 */
  1438. {
  1439. #ifdef NICENAMES
  1440. "ei i2",16,7,
  1441. 0x00,
  1442. #endif
  1443. "ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
  1444.     {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,118},
  1445.  
  1446.  
  1447. /* 0010 1101 ssN0 dddd *** ex rd,@rs */
  1448. {
  1449. #ifdef NICENAMES
  1450. "ex rd,@rs",16,12,
  1451. 0x00,
  1452. #endif
  1453. "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  1454.     {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,119},
  1455.  
  1456.  
  1457. /* 0110 1101 0000 dddd address_src *** ex rd,address_src */
  1458. {
  1459. #ifdef NICENAMES
  1460. "ex rd,address_src",16,15,
  1461. 0x00,
  1462. #endif
  1463. "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1464.     {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,120},
  1465.  
  1466.  
  1467. /* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
  1468. {
  1469. #ifdef NICENAMES
  1470. "ex rd,address_src(rs)",16,16,
  1471. 0x00,
  1472. #endif
  1473. "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  1474.     {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,121},
  1475.  
  1476.  
  1477. /* 1010 1101 ssss dddd *** ex rd,rs */
  1478. {
  1479. #ifdef NICENAMES
  1480. "ex rd,rs",16,6,
  1481. 0x00,
  1482. #endif
  1483. "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1484.     {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,122},
  1485.  
  1486.  
  1487. /* 0010 1100 ssN0 dddd *** exb rbd,@rs */
  1488. {
  1489. #ifdef NICENAMES
  1490. "exb rbd,@rs",8,12,
  1491. 0x00,
  1492. #endif
  1493. "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  1494.     {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,123},
  1495.  
  1496.  
  1497. /* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
  1498. {
  1499. #ifdef NICENAMES
  1500. "exb rbd,address_src",8,15,
  1501. 0x00,
  1502. #endif
  1503. "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1504.     {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,124},
  1505.  
  1506.  
  1507. /* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
  1508. {
  1509. #ifdef NICENAMES
  1510. "exb rbd,address_src(rs)",8,16,
  1511. 0x00,
  1512. #endif
  1513. "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  1514.     {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,125},
  1515.  
  1516.  
  1517. /* 1010 1100 ssss dddd *** exb rbd,rbs */
  1518. {
  1519. #ifdef NICENAMES
  1520. "exb rbd,rbs",8,6,
  1521. 0x00,
  1522. #endif
  1523. "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  1524.     {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,126},
  1525.  
  1526.  
  1527. /* 0000 1110 imm8 *** ext0e imm8 */
  1528. {
  1529. #ifdef NICENAMES
  1530. "ext0e imm8",8,10,
  1531. 0x00,
  1532. #endif
  1533. "ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
  1534.     {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,127},
  1535.  
  1536.  
  1537. /* 0000 1111 imm8 *** ext0f imm8 */
  1538. {
  1539. #ifdef NICENAMES
  1540. "ext0f imm8",8,10,
  1541. 0x00,
  1542. #endif
  1543. "ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
  1544.     {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,128},
  1545.  
  1546.  
  1547. /* 1000 1110 imm8 *** ext8e imm8 */
  1548. {
  1549. #ifdef NICENAMES
  1550. "ext8e imm8",8,10,
  1551. 0x00,
  1552. #endif
  1553. "ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
  1554.     {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,129},
  1555.  
  1556.  
  1557. /* 1000 1111 imm8 *** ext8f imm8 */
  1558. {
  1559. #ifdef NICENAMES
  1560. "ext8f imm8",8,10,
  1561. 0x00,
  1562. #endif
  1563. "ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
  1564.     {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,130},
  1565.  
  1566.  
  1567. /* 1011 0001 dddd 1010 *** exts rrd */
  1568. {
  1569. #ifdef NICENAMES
  1570. "exts rrd",16,11,
  1571. 0x00,
  1572. #endif
  1573. "exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
  1574.     {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,131},
  1575.  
  1576.  
  1577. /* 1011 0001 dddd 0000 *** extsb rd */
  1578. {
  1579. #ifdef NICENAMES
  1580. "extsb rd",8,11,
  1581. 0x00,
  1582. #endif
  1583. "extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
  1584.     {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,132},
  1585.  
  1586.  
  1587. /* 1011 0001 dddd 0111 *** extsl rqd */
  1588. {
  1589. #ifdef NICENAMES
  1590. "extsl rqd",32,11,
  1591. 0x00,
  1592. #endif
  1593. "extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
  1594.     {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,133},
  1595.  
  1596.  
  1597. /* 0111 1010 0000 0000 *** halt */
  1598. {
  1599. #ifdef NICENAMES
  1600. "halt",16,8,
  1601. 0x00,
  1602. #endif
  1603. "halt",OPC_halt,0,{0},
  1604.     {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,134},
  1605.  
  1606.  
  1607. /* 0011 1101 ssN0 dddd *** in rd,@rs */
  1608. {
  1609. #ifdef NICENAMES
  1610. "in rd,@rs",16,10,
  1611. 0x00,
  1612. #endif
  1613. "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  1614.     {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
  1615.  
  1616.  
  1617. /* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
  1618. {
  1619. #ifdef NICENAMES
  1620. "in rd,imm16",16,12,
  1621. 0x00,
  1622. #endif
  1623. "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1624.     {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
  1625.  
  1626.  
  1627. /* 0011 1100 ssN0 dddd *** inb rbd,@rs */
  1628. {
  1629. #ifdef NICENAMES
  1630. "inb rbd,@rs",8,12,
  1631. 0x00,
  1632. #endif
  1633. "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  1634.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
  1635.  
  1636.  
  1637. /* 0011 1100 dddd 0100 imm16 *** inb rbd,imm16 */
  1638. {
  1639. #ifdef NICENAMES
  1640. "inb rbd,imm16",8,10,
  1641. 0x00,
  1642. #endif
  1643. "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1644.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,138},
  1645.  
  1646.  
  1647. /* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
  1648. {
  1649. #ifdef NICENAMES
  1650. "inc @rd,imm4m1",16,11,
  1651. 0x1c,
  1652. #endif
  1653. "inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1654.     {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,139},
  1655.  
  1656.  
  1657. /* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
  1658. {
  1659. #ifdef NICENAMES
  1660. "inc address_dst(rd),imm4m1",16,14,
  1661. 0x1c,
  1662. #endif
  1663. "inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1664.     {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
  1665.  
  1666.  
  1667. /* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
  1668. {
  1669. #ifdef NICENAMES
  1670. "inc address_dst,imm4m1",16,13,
  1671. 0x1c,
  1672. #endif
  1673. "inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
  1674.     {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
  1675.  
  1676.  
  1677. /* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
  1678. {
  1679. #ifdef NICENAMES
  1680. "inc rd,imm4m1",16,4,
  1681. 0x1c,
  1682. #endif
  1683. "inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1684.     {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,142},
  1685.  
  1686.  
  1687. /* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
  1688. {
  1689. #ifdef NICENAMES
  1690. "incb @rd,imm4m1",8,11,
  1691. 0x1c,
  1692. #endif
  1693. "incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1694.     {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,143},
  1695.  
  1696.  
  1697. /* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
  1698. {
  1699. #ifdef NICENAMES
  1700. "incb address_dst(rd),imm4m1",8,14,
  1701. 0x1c,
  1702. #endif
  1703. "incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1704.     {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,144},
  1705.  
  1706.  
  1707. /* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
  1708. {
  1709. #ifdef NICENAMES
  1710. "incb address_dst,imm4m1",8,13,
  1711. 0x1c,
  1712. #endif
  1713. "incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
  1714.     {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,145},
  1715.  
  1716.  
  1717. /* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
  1718. {
  1719. #ifdef NICENAMES
  1720. "incb rbd,imm4m1",8,4,
  1721. 0x1c,
  1722. #endif
  1723. "incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1724.     {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,146},
  1725.  
  1726.  
  1727. /* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
  1728. {
  1729. #ifdef NICENAMES
  1730. "ind @rd,@rs,ra",16,21,
  1731. 0x04,
  1732. #endif
  1733. "ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  1734.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
  1735.  
  1736.  
  1737. /* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
  1738. {
  1739. #ifdef NICENAMES
  1740. "indb @rd,@rs,rba",8,21,
  1741. 0x04,
  1742. #endif
  1743. "indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  1744.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,148},
  1745.  
  1746.  
  1747. /* 0011 1100 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
  1748. {
  1749. #ifdef NICENAMES
  1750. "inib @rd,@rs,ra",8,21,
  1751. 0x04,
  1752. #endif
  1753. "inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  1754.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,149},
  1755.  
  1756.  
  1757. /* 0011 1100 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
  1758. {
  1759. #ifdef NICENAMES
  1760. "inibr @rd,@rs,ra",16,21,
  1761. 0x04,
  1762. #endif
  1763. "inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  1764.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,150},
  1765.  
  1766.  
  1767. /* 0111 1011 0000 0000 *** iret */
  1768. {
  1769. #ifdef NICENAMES
  1770. "iret",16,13,
  1771. 0x3f,
  1772. #endif
  1773. "iret",OPC_iret,0,{0},
  1774.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,151},
  1775.  
  1776.  
  1777. /* 0001 1110 ddN0 cccc *** jp cc,@rd */
  1778. {
  1779. #ifdef NICENAMES
  1780. "jp cc,@rd",16,10,
  1781. 0x00,
  1782. #endif
  1783. "jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
  1784.     {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,152},
  1785.  
  1786.  
  1787. /* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
  1788. {
  1789. #ifdef NICENAMES
  1790. "jp cc,address_dst",16,7,
  1791. 0x00,
  1792. #endif
  1793. "jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
  1794.     {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,153},
  1795.  
  1796.  
  1797. /* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
  1798. {
  1799. #ifdef NICENAMES
  1800. "jp cc,address_dst(rd)",16,8,
  1801. 0x00,
  1802. #endif
  1803. "jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
  1804.     {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,154},
  1805.  
  1806.  
  1807. /* 1110 cccc disp8 *** jr cc,disp8 */
  1808. {
  1809. #ifdef NICENAMES
  1810. "jr cc,disp8",16,6,
  1811. 0x00,
  1812. #endif
  1813. "jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
  1814.     {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,155},
  1815.  
  1816.  
  1817. /* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
  1818. {
  1819. #ifdef NICENAMES
  1820. "ld @rd,imm16",16,7,
  1821. 0x00,
  1822. #endif
  1823. "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1824.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
  1825.  
  1826.  
  1827. /* 0010 1111 ddN0 ssss *** ld @rd,rs */
  1828. {
  1829. #ifdef NICENAMES
  1830. "ld @rd,rs",16,8,
  1831. 0x00,
  1832. #endif
  1833. "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1834.     {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,157},
  1835.  
  1836.  
  1837. /* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
  1838. {
  1839. #ifdef NICENAMES
  1840. "ld address_dst(rd),imm16",16,15,
  1841. 0x00,
  1842. #endif
  1843. "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1844.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,158},
  1845.  
  1846.  
  1847. /* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
  1848. {
  1849. #ifdef NICENAMES
  1850. "ld address_dst(rd),rs",16,12,
  1851. 0x00,
  1852. #endif
  1853. "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1854.     {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,159},
  1855.  
  1856.  
  1857. /* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
  1858. {
  1859. #ifdef NICENAMES
  1860. "ld address_dst,imm16",16,14,
  1861. 0x00,
  1862. #endif
  1863. "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
  1864.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,160},
  1865.  
  1866.  
  1867. /* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
  1868. {
  1869. #ifdef NICENAMES
  1870. "ld address_dst,rs",16,11,
  1871. 0x00,
  1872. #endif
  1873. "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
  1874.     {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,161},
  1875.  
  1876.  
  1877. /* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
  1878. {
  1879. #ifdef NICENAMES
  1880. "ld rd(imm16),rs",16,14,
  1881. 0x00,
  1882. #endif
  1883. "ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1884.     {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,162},
  1885.  
  1886.  
  1887. /* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
  1888. {
  1889. #ifdef NICENAMES
  1890. "ld rd(rx),rs",16,14,
  1891. 0x00,
  1892. #endif
  1893. "ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1894.     {CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,163},
  1895.  
  1896.  
  1897. /* 0010 0001 ssN0 dddd *** ld rd,@rs */
  1898. {
  1899. #ifdef NICENAMES
  1900. "ld rd,@rs",16,7,
  1901. 0x00,
  1902. #endif
  1903. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  1904.     {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,164},
  1905.  
  1906.  
  1907. /* 0110 0001 0000 dddd address_src *** ld rd,address_src */
  1908. {
  1909. #ifdef NICENAMES
  1910. "ld rd,address_src",16,9,
  1911. 0x00,
  1912. #endif
  1913. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1914.     {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,165},
  1915.  
  1916.  
  1917. /* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
  1918. {
  1919. #ifdef NICENAMES
  1920. "ld rd,address_src(rs)",16,10,
  1921. 0x00,
  1922. #endif
  1923. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  1924.     {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,166},
  1925.  
  1926.  
  1927. /* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
  1928. {
  1929. #ifdef NICENAMES
  1930. "ld rd,imm16",16,7,
  1931. 0x00,
  1932. #endif
  1933. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1934.     {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
  1935.  
  1936.  
  1937. /* 1010 0001 ssss dddd *** ld rd,rs */
  1938. {
  1939. #ifdef NICENAMES
  1940. "ld rd,rs",16,3,
  1941. 0x00,
  1942. #endif
  1943. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1944.     {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
  1945.  
  1946.  
  1947. /* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
  1948. {
  1949. #ifdef NICENAMES
  1950. "ld rd,rs(imm16)",16,14,
  1951. 0x00,
  1952. #endif
  1953. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
  1954.     {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,169},
  1955.  
  1956.  
  1957. /* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
  1958. {
  1959. #ifdef NICENAMES
  1960. "ld rd,rs(rx)",16,14,
  1961. 0x00,
  1962. #endif
  1963. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
  1964.     {CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,170},
  1965.  
  1966.  
  1967. /* 0111 0110 0000 dddd address_src *** lda rd,address_src */
  1968. {
  1969. #ifdef NICENAMES
  1970. "lda rd,address_src",16,12,
  1971. 0x00,
  1972. #endif
  1973. "lda",OPC_lda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1974.     {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,171},
  1975.  
  1976.  
  1977. /* 0111 0110 ssN0 dddd address_src *** lda rd,address_src(rs) */
  1978. {
  1979. #ifdef NICENAMES
  1980. "lda rd,address_src(rs)",16,13,
  1981. 0x00,
  1982. #endif
  1983. "lda",OPC_lda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  1984.     {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,172},
  1985.  
  1986.  
  1987. /* 0011 0100 ssN0 dddd imm16 *** lda rd,rs(imm16) */
  1988. {
  1989. #ifdef NICENAMES
  1990. "lda rd,rs(imm16)",16,15,
  1991. 0x00,
  1992. #endif
  1993. "lda",OPC_lda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
  1994.     {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,173},
  1995.  
  1996.  
  1997. /* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda rd,rs(rx) */
  1998. {
  1999. #ifdef NICENAMES
  2000. "lda rd,rs(rx)",16,15,
  2001. 0x00,
  2002. #endif
  2003. "lda",OPC_lda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
  2004.     {CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,174},
  2005.  
  2006.  
  2007. /* 0011 0100 0000 dddd disp16 *** ldar rd,disp16 */
  2008. {
  2009. #ifdef NICENAMES
  2010. "ldar rd,disp16",16,15,
  2011. 0x00,
  2012. #endif
  2013. "ldar",OPC_ldar,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
  2014.     {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,175},
  2015.  
  2016.  
  2017. /* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
  2018. {
  2019. #ifdef NICENAMES
  2020. "ldb @rd,imm8",8,7,
  2021. 0x00,
  2022. #endif
  2023. "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  2024.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,176},
  2025.  
  2026.  
  2027. /* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
  2028. {
  2029. #ifdef NICENAMES
  2030. "ldb @rd,rbs",8,8,
  2031. 0x00,
  2032. #endif
  2033. "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2034.     {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,177},
  2035.  
  2036.  
  2037. /* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
  2038. {
  2039. #ifdef NICENAMES
  2040. "ldb address_dst(rd),imm8",8,15,
  2041. 0x00,
  2042. #endif
  2043. "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  2044.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,178},
  2045.  
  2046.  
  2047. /* 0100 1110 ddN0 ssN0 address_dst *** ldb address_dst(rd),rbs */
  2048. {
  2049. #ifdef NICENAMES
  2050. "ldb address_dst(rd),rbs",8,12,
  2051. 0x00,
  2052. #endif
  2053. "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2054.     {CLASS_BIT+4,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,179},
  2055.  
  2056.  
  2057. /* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
  2058. {
  2059. #ifdef NICENAMES
  2060. "ldb address_dst,imm8",8,14,
  2061. 0x00,
  2062. #endif
  2063. "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
  2064.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,180},
  2065.  
  2066.  
  2067. /* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
  2068. {
  2069. #ifdef NICENAMES
  2070. "ldb address_dst,rbs",8,11,
  2071. 0x00,
  2072. #endif
  2073. "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
  2074.     {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,181},
  2075.  
  2076.  
  2077. /* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
  2078. {
  2079. #ifdef NICENAMES
  2080. "ldb rbd,@rs",8,7,
  2081. 0x00,
  2082. #endif
  2083. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  2084.     {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,182},
  2085.  
  2086.  
  2087. /* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
  2088. {
  2089. #ifdef NICENAMES
  2090. "ldb rbd,address_src",8,9,
  2091. 0x00,
  2092. #endif
  2093. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2094.     {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
  2095.  
  2096.  
  2097. /* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
  2098. {
  2099. #ifdef NICENAMES
  2100. "ldb rbd,address_src(rs)",8,10,
  2101. 0x00,
  2102. #endif
  2103. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  2104.     {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
  2105.  
  2106.  
  2107. /* 1100 dddd imm8 *** ldb rbd,imm8 */
  2108. {
  2109. #ifdef NICENAMES
  2110. "ldb rbd,imm8",8,5,
  2111. 0x00,
  2112. #endif
  2113. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  2114.     {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,185},
  2115.  
  2116.  
  2117. /* 1010 0000 ssss dddd *** ldb rbd,rbs */
  2118. {
  2119. #ifdef NICENAMES
  2120. "ldb rbd,rbs",8,3,
  2121. 0x00,
  2122. #endif
  2123. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2124.     {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
  2125.  
  2126.  
  2127. /* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
  2128. {
  2129. #ifdef NICENAMES
  2130. "ldb rbd,rs(imm16)",8,14,
  2131. 0x00,
  2132. #endif
  2133. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
  2134.     {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,187},
  2135.  
  2136.  
  2137. /* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
  2138. {
  2139. #ifdef NICENAMES
  2140. "ldb rbd,rs(rx)",8,14,
  2141. 0x00,
  2142. #endif
  2143. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
  2144.     {CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,188},
  2145.  
  2146.  
  2147. /* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
  2148. {
  2149. #ifdef NICENAMES
  2150. "ldb rd(imm16),rbs",8,14,
  2151. 0x00,
  2152. #endif
  2153. "ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2154.     {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,189},
  2155.  
  2156.  
  2157. /* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
  2158. {
  2159. #ifdef NICENAMES
  2160. "ldb rd(rx),rbs",8,14,
  2161. 0x00,
  2162. #endif
  2163. "ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2164.     {CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,190},
  2165.  
  2166.  
  2167. /* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
  2168. {
  2169. #ifdef NICENAMES
  2170. "ldctl ctrl,rs",32,7,
  2171. 0x00,
  2172. #endif
  2173. "ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
  2174.     {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,191},
  2175.  
  2176.  
  2177. /* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
  2178. {
  2179. #ifdef NICENAMES
  2180. "ldctl rd,ctrl",32,7,
  2181. 0x00,
  2182. #endif
  2183. "ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
  2184.     {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,192},
  2185.  
  2186.  
  2187. /* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rs,@rd,rr */
  2188. {
  2189. #ifdef NICENAMES
  2190. "ldd @rs,@rd,rr",16,11,
  2191. 0x04,
  2192. #endif
  2193. "ldd",OPC_ldd,0,{CLASS_IR+(ARG_RS),CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RR),},
  2194.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,193},
  2195.  
  2196.  
  2197. /* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rs,@rd,rr */
  2198. {
  2199. #ifdef NICENAMES
  2200. "lddb @rs,@rd,rr",8,11,
  2201. 0x04,
  2202. #endif
  2203. "lddb",OPC_lddb,0,{CLASS_IR+(ARG_RS),CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RR),},
  2204.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,194},
  2205.  
  2206.  
  2207. /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rs,@rd,rr */
  2208. {
  2209. #ifdef NICENAMES
  2210. "lddr @rs,@rd,rr",16,11,
  2211. 0x04,
  2212. #endif
  2213. "lddr",OPC_lddr,0,{CLASS_IR+(ARG_RS),CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RR),},
  2214.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,195},
  2215.  
  2216.  
  2217. /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rs,@rd,rr */
  2218. {
  2219. #ifdef NICENAMES
  2220. "lddrb @rs,@rd,rr",8,11,
  2221. 0x04,
  2222. #endif
  2223. "lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RS),CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RR),},
  2224.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,196},
  2225.  
  2226.  
  2227. /* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
  2228. {
  2229. #ifdef NICENAMES
  2230. "ldi @rd,@rs,rr",16,11,
  2231. 0x04,
  2232. #endif
  2233. "ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
  2234.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,197},
  2235.  
  2236.  
  2237. /* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
  2238. {
  2239. #ifdef NICENAMES
  2240. "ldib @rd,@rs,rr",8,11,
  2241. 0x04,
  2242. #endif
  2243. "ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
  2244.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,198},
  2245.  
  2246.  
  2247. /* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
  2248. {
  2249. #ifdef NICENAMES
  2250. "ldir @rd,@rs,rr",16,11,
  2251. 0x04,
  2252. #endif
  2253. "ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
  2254.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,199},
  2255.  
  2256.  
  2257. /* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
  2258. {
  2259. #ifdef NICENAMES
  2260. "ldirb @rd,@rs,rr",8,11,
  2261. 0x04,
  2262. #endif
  2263. "ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
  2264.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,200},
  2265.  
  2266.  
  2267. /* 1011 1101 dddd imm4 *** ldk rd,imm4 */
  2268. {
  2269. #ifdef NICENAMES
  2270. "ldk rd,imm4",16,5,
  2271. 0x00,
  2272. #endif
  2273. "ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  2274.     {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,201},
  2275.  
  2276.  
  2277. /* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
  2278. {
  2279. #ifdef NICENAMES
  2280. "ldl @rd,rrs",32,11,
  2281. 0x00,
  2282. #endif
  2283. "ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2284.     {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,202},
  2285.  
  2286.  
  2287. /* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
  2288. {
  2289. #ifdef NICENAMES
  2290. "ldl address_dst(rd),rrs",32,14,
  2291. 0x00,
  2292. #endif
  2293. "ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2294.     {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,203},
  2295.  
  2296.  
  2297. /* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
  2298. {
  2299. #ifdef NICENAMES
  2300. "ldl address_dst,rrs",32,15,
  2301. 0x00,
  2302. #endif
  2303. "ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
  2304.     {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,204},
  2305.  
  2306.  
  2307. /* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
  2308. {
  2309. #ifdef NICENAMES
  2310. "ldl rd(imm16),rrs",32,17,
  2311. 0x00,
  2312. #endif
  2313. "ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2314.     {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,205},
  2315.  
  2316.  
  2317. /* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
  2318. {
  2319. #ifdef NICENAMES
  2320. "ldl rd(rx),rrs",32,17,
  2321. 0x00,
  2322. #endif
  2323. "ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2324.     {CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,206},
  2325.  
  2326.  
  2327. /* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
  2328. {
  2329. #ifdef NICENAMES
  2330. "ldl rrd,@rs",32,11,
  2331. 0x00,
  2332. #endif
  2333. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  2334.     {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,207},
  2335.  
  2336.  
  2337. /* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
  2338. {
  2339. #ifdef NICENAMES
  2340. "ldl rrd,address_src",32,12,
  2341. 0x00,
  2342. #endif
  2343. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2344.     {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,208},
  2345.  
  2346.  
  2347. /* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
  2348. {
  2349. #ifdef NICENAMES
  2350. "ldl rrd,address_src(rs)",32,13,
  2351. 0x00,
  2352. #endif
  2353. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  2354.     {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,209},
  2355.  
  2356.  
  2357. /* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
  2358. {
  2359. #ifdef NICENAMES
  2360. "ldl rrd,imm32",32,11,
  2361. 0x00,
  2362. #endif
  2363. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  2364.     {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,210},
  2365.  
  2366.  
  2367. /* 1001 0100 ssss dddd *** ldl rrd,rrs */
  2368. {
  2369. #ifdef NICENAMES
  2370. "ldl rrd,rrs",32,5,
  2371. 0x00,
  2372. #endif
  2373. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2374.     {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,211},
  2375.  
  2376.  
  2377. /* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
  2378. {
  2379. #ifdef NICENAMES
  2380. "ldl rrd,rs(imm16)",32,17,
  2381. 0x00,
  2382. #endif
  2383. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
  2384.     {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,212},
  2385.  
  2386.  
  2387. /* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
  2388. {
  2389. #ifdef NICENAMES
  2390. "ldl rrd,rs(rx)",32,17,
  2391. 0x00,
  2392. #endif
  2393. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
  2394.     {CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,213},
  2395.  
  2396.  
  2397. /* 0001 1100 ddN0 1001 0000 ssss 0000 nminus1 *** ldm @rd,rs,n */
  2398. {
  2399. #ifdef NICENAMES
  2400. "ldm @rd,rs,n",16,11,
  2401. 0x00,
  2402. #endif
  2403. "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2404.     {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,214},
  2405.  
  2406.  
  2407. /* 0101 1100 ddN0 1001 0000 ssN0 0000 nminus1 address_dst *** ldm address_dst(rd),rs,n */
  2408. {
  2409. #ifdef NICENAMES
  2410. "ldm address_dst(rd),rs,n",16,15,
  2411. 0x00,
  2412. #endif
  2413. "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2414.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,215},
  2415.  
  2416.  
  2417. /* 0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst,rs,n */
  2418. {
  2419. #ifdef NICENAMES
  2420. "ldm address_dst,rs,n",16,14,
  2421. 0x00,
  2422. #endif
  2423. "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2424.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,216},
  2425.  
  2426.  
  2427. /* 0001 1100 ssN0 0001 0000 dddd 0000 nminus1 *** ldm rd,@rs,n */
  2428. {
  2429. #ifdef NICENAMES
  2430. "ldm rd,@rs,n",16,11,
  2431. 0x00,
  2432. #endif
  2433. "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2434.     {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,217},
  2435.  
  2436.  
  2437. /* 0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src(rs),n */
  2438. {
  2439. #ifdef NICENAMES
  2440. "ldm rd,address_src(rs),n",16,15,
  2441. 0x00,
  2442. #endif
  2443. "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2444.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,218},
  2445.  
  2446.  
  2447. /* 0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src,n */
  2448. {
  2449. #ifdef NICENAMES
  2450. "ldm rd,address_src,n",16,14,
  2451. 0x00,
  2452. #endif
  2453. "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMMN),},
  2454.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,219},
  2455.  
  2456.  
  2457. /* 0011 1001 ssN0 0000 *** ldps @rs */
  2458. {
  2459. #ifdef NICENAMES
  2460. "ldps @rs",16,12,
  2461. 0x3f,
  2462. #endif
  2463. "ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
  2464.     {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,220},
  2465.  
  2466.  
  2467. /* 0111 1001 0000 0000 address_src *** ldps address_src */
  2468. {
  2469. #ifdef NICENAMES
  2470. "ldps address_src",16,16,
  2471. 0x3f,
  2472. #endif
  2473. "ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
  2474.     {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,221},
  2475.  
  2476.  
  2477. /* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
  2478. {
  2479. #ifdef NICENAMES
  2480. "ldps address_src(rs)",16,17,
  2481. 0x3f,
  2482. #endif
  2483. "ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
  2484.     {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,222},
  2485.  
  2486.  
  2487. /* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
  2488. {
  2489. #ifdef NICENAMES
  2490. "ldr disp16,rs",16,14,
  2491. 0x00,
  2492. #endif
  2493. "ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
  2494.     {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,223},
  2495.  
  2496.  
  2497. /* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
  2498. {
  2499. #ifdef NICENAMES
  2500. "ldr rd,disp16",16,14,
  2501. 0x00,
  2502. #endif
  2503. "ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
  2504.     {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,224},
  2505.  
  2506.  
  2507. /* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
  2508. {
  2509. #ifdef NICENAMES
  2510. "ldrb disp16,rbs",8,14,
  2511. 0x00,
  2512. #endif
  2513. "ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
  2514.     {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,225},
  2515.  
  2516.  
  2517. /* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
  2518. {
  2519. #ifdef NICENAMES
  2520. "ldrb rbd,disp16",8,14,
  2521. 0x00,
  2522. #endif
  2523. "ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
  2524.     {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,226},
  2525.  
  2526.  
  2527. /* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
  2528. {
  2529. #ifdef NICENAMES
  2530. "ldrl disp16,rrs",32,17,
  2531. 0x00,
  2532. #endif
  2533. "ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
  2534.     {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,227},
  2535.  
  2536.  
  2537. /* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
  2538. {
  2539. #ifdef NICENAMES
  2540. "ldrl rrd,disp16",32,17,
  2541. 0x00,
  2542. #endif
  2543. "ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
  2544.     {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,228},
  2545.  
  2546.  
  2547. /* 0111 1011 0000 1010 *** mbit */
  2548. {
  2549. #ifdef NICENAMES
  2550. "mbit",16,7,
  2551. 0x38,
  2552. #endif
  2553. "mbit",OPC_mbit,0,{0},
  2554.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,229},
  2555.  
  2556.  
  2557. /* 0111 1011 dddd 1101 *** mreq rd */
  2558. {
  2559. #ifdef NICENAMES
  2560. "mreq rd",16,12,
  2561. 0x18,
  2562. #endif
  2563. "mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
  2564.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,230},
  2565.  
  2566.  
  2567. /* 0111 1011 0000 1001 *** mres */
  2568. {
  2569. #ifdef NICENAMES
  2570. "mres",16,5,
  2571. 0x00,
  2572. #endif
  2573. "mres",OPC_mres,0,{0},
  2574.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,231},
  2575.  
  2576.  
  2577. /* 0111 1011 0000 1000 *** mset */
  2578. {
  2579. #ifdef NICENAMES
  2580. "mset",16,5,
  2581. 0x00,
  2582. #endif
  2583. "mset",OPC_mset,0,{0},
  2584.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,232},
  2585.  
  2586.  
  2587. /* 0001 1001 ssN0 dddd *** mult rrd,@rs */
  2588. {
  2589. #ifdef NICENAMES
  2590. "mult rrd,@rs",16,70,
  2591. 0x3c,
  2592. #endif
  2593. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  2594.     {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,233},
  2595.  
  2596.  
  2597. /* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
  2598. {
  2599. #ifdef NICENAMES
  2600. "mult rrd,address_src",16,70,
  2601. 0x3c,
  2602. #endif
  2603. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2604.     {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,234},
  2605.  
  2606.  
  2607. /* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
  2608. {
  2609. #ifdef NICENAMES
  2610. "mult rrd,address_src(rs)",16,70,
  2611. 0x3c,
  2612. #endif
  2613. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  2614.     {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,235},
  2615.  
  2616.  
  2617. /* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
  2618. {
  2619. #ifdef NICENAMES
  2620. "mult rrd,imm16",16,70,
  2621. 0x3c,
  2622. #endif
  2623. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  2624.     {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,236},
  2625.  
  2626.  
  2627. /* 1001 1001 ssss dddd *** mult rrd,rs */
  2628. {
  2629. #ifdef NICENAMES
  2630. "mult rrd,rs",16,70,
  2631. 0x3c,
  2632. #endif
  2633. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  2634.     {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,237},
  2635.  
  2636.  
  2637. /* 0001 1000 ssN0 dddd *** multl rqd,@rs */
  2638. {
  2639. #ifdef NICENAMES
  2640. "multl rqd,@rs",32,282,
  2641. 0x3c,
  2642. #endif
  2643. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
  2644.     {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,238},
  2645.  
  2646.  
  2647. /* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
  2648. {
  2649. #ifdef NICENAMES
  2650. "multl rqd,address_src",32,282,
  2651. 0x3c,
  2652. #endif
  2653. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2654.     {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,239},
  2655.  
  2656.  
  2657. /* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
  2658. {
  2659. #ifdef NICENAMES
  2660. "multl rqd,address_src(rs)",32,282,
  2661. 0x3c,
  2662. #endif
  2663. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
  2664.     {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,240},
  2665.  
  2666.  
  2667. /* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
  2668. {
  2669. #ifdef NICENAMES
  2670. "multl rqd,imm32",32,282,
  2671. 0x3c,
  2672. #endif
  2673. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  2674.     {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,241},
  2675.  
  2676.  
  2677. /* 1001 1000 ssss dddd *** multl rqd,rrs */
  2678. {
  2679. #ifdef NICENAMES
  2680. "multl rqd,rrs",32,282,
  2681. 0x3c,
  2682. #endif
  2683. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2684.     {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,242},
  2685.  
  2686.  
  2687. /* 0000 1101 ddN0 0010 *** neg @rd */
  2688. {
  2689. #ifdef NICENAMES
  2690. "neg @rd",16,12,
  2691. 0x3c,
  2692. #endif
  2693. "neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
  2694.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,243},
  2695.  
  2696.  
  2697. /* 0100 1101 0000 0010 address_dst *** neg address_dst */
  2698. {
  2699. #ifdef NICENAMES
  2700. "neg address_dst",16,15,
  2701. 0x3c,
  2702. #endif
  2703. "neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
  2704.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,244},
  2705.  
  2706.  
  2707. /* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
  2708. {
  2709. #ifdef NICENAMES
  2710. "neg address_dst(rd)",16,16,
  2711. 0x3c,
  2712. #endif
  2713. "neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
  2714.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,245},
  2715.  
  2716.  
  2717. /* 1000 1101 dddd 0010 *** neg rd */
  2718. {
  2719. #ifdef NICENAMES
  2720. "neg rd",16,7,
  2721. 0x3c,
  2722. #endif
  2723. "neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
  2724.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,246},
  2725.  
  2726.  
  2727. /* 0000 1100 ddN0 0010 *** negb @rd */
  2728. {
  2729. #ifdef NICENAMES
  2730. "negb @rd",8,12,
  2731. 0x3c,
  2732. #endif
  2733. "negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
  2734.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,247},
  2735.  
  2736.  
  2737. /* 0100 1100 0000 0010 address_dst *** negb address_dst */
  2738. {
  2739. #ifdef NICENAMES
  2740. "negb address_dst",8,15,
  2741. 0x3c,
  2742. #endif
  2743. "negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
  2744.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,248},
  2745.  
  2746.  
  2747. /* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
  2748. {
  2749. #ifdef NICENAMES
  2750. "negb address_dst(rd)",8,16,
  2751. 0x3c,
  2752. #endif
  2753. "negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
  2754.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,249},
  2755.  
  2756.  
  2757. /* 1000 1100 dddd 0010 *** negb rbd */
  2758. {
  2759. #ifdef NICENAMES
  2760. "negb rbd",8,7,
  2761. 0x3c,
  2762. #endif
  2763. "negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
  2764.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,250},
  2765.  
  2766.  
  2767. /* 1000 1101 0000 0111 *** nop */
  2768. {
  2769. #ifdef NICENAMES
  2770. "nop",16,7,
  2771. 0x00,
  2772. #endif
  2773. "nop",OPC_nop,0,{0},
  2774.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,251},
  2775.  
  2776.  
  2777. /* 0000 0101 ssN0 dddd *** or rd,@rs */
  2778. {
  2779. #ifdef NICENAMES
  2780. "or rd,@rs",16,7,
  2781. 0x38,
  2782. #endif
  2783. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  2784.     {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,252},
  2785.  
  2786.  
  2787. /* 0100 0101 0000 dddd address_src *** or rd,address_src */
  2788. {
  2789. #ifdef NICENAMES
  2790. "or rd,address_src",16,9,
  2791. 0x38,
  2792. #endif
  2793. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2794.     {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,253},
  2795.  
  2796.  
  2797. /* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
  2798. {
  2799. #ifdef NICENAMES
  2800. "or rd,address_src(rs)",16,10,
  2801. 0x38,
  2802. #endif
  2803. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  2804.     {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,254},
  2805.  
  2806.  
  2807. /* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
  2808. {
  2809. #ifdef NICENAMES
  2810. "or rd,imm16",16,7,
  2811. 0x38,
  2812. #endif
  2813. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  2814.     {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,255},
  2815.  
  2816.  
  2817. /* 1000 0101 ssss dddd *** or rd,rs */
  2818. {
  2819. #ifdef NICENAMES
  2820. "or rd,rs",16,4,
  2821. 0x38,
  2822. #endif
  2823. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  2824.     {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,256},
  2825.  
  2826.  
  2827. /* 0000 0100 ssN0 dddd *** orb rbd,@rs */
  2828. {
  2829. #ifdef NICENAMES
  2830. "orb rbd,@rs",8,7,
  2831. 0x3c,
  2832. #endif
  2833. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  2834.     {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,257},
  2835.  
  2836.  
  2837. /* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
  2838. {
  2839. #ifdef NICENAMES
  2840. "orb rbd,address_src",8,9,
  2841. 0x3c,
  2842. #endif
  2843. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2844.     {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,258},
  2845.  
  2846.  
  2847. /* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
  2848. {
  2849. #ifdef NICENAMES
  2850. "orb rbd,address_src(rs)",8,10,
  2851. 0x3c,
  2852. #endif
  2853. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  2854.     {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,259},
  2855.  
  2856.  
  2857. /* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
  2858. {
  2859. #ifdef NICENAMES
  2860. "orb rbd,imm8",8,7,
  2861. 0x3c,
  2862. #endif
  2863. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  2864.     {CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,260},
  2865.  
  2866.  
  2867. /* 1000 0100 ssss dddd *** orb rbd,rbs */
  2868. {
  2869. #ifdef NICENAMES
  2870. "orb rbd,rbs",8,4,
  2871. 0x3c,
  2872. #endif
  2873. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2874.     {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,261},
  2875.  
  2876.  
  2877. /* 0011 1111 ddN0 ssss *** out @rd,rs */
  2878. {
  2879. #ifdef NICENAMES
  2880. "out @rd,rs",16,0,
  2881. 0x04,
  2882. #endif
  2883. "out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  2884.     {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,262},
  2885.  
  2886.  
  2887. /* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
  2888. {
  2889. #ifdef NICENAMES
  2890. "out imm16,rs",16,0,
  2891. 0x04,
  2892. #endif
  2893. "out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
  2894.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,263},
  2895.  
  2896.  
  2897. /* 0011 1110 ddN0 ssss *** outb @rd,rbs */
  2898. {
  2899. #ifdef NICENAMES
  2900. "outb @rd,rbs",8,0,
  2901. 0x04,
  2902. #endif
  2903. "outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2904.     {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
  2905.  
  2906.  
  2907. /* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
  2908. {
  2909. #ifdef NICENAMES
  2910. "outb imm16,rbs",8,0,
  2911. 0x04,
  2912. #endif
  2913. "outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
  2914.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,265},
  2915.  
  2916.  
  2917. /* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
  2918. {
  2919. #ifdef NICENAMES
  2920. "outd @rd,@rs,ra",16,0,
  2921. 0x04,
  2922. #endif
  2923. "outd",OPC_outd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  2924.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,266},
  2925.  
  2926.  
  2927. /* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
  2928. {
  2929. #ifdef NICENAMES
  2930. "outdb @rd,@rs,rba",8,0,
  2931. 0x04,
  2932. #endif
  2933. "outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  2934.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,267},
  2935.  
  2936.  
  2937. /* 0011 1100 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
  2938. {
  2939. #ifdef NICENAMES
  2940. "outib @rd,@rs,ra",8,0,
  2941. 0x04,
  2942. #endif
  2943. "outib",OPC_outib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  2944.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,268},
  2945.  
  2946.  
  2947. /* 0011 1100 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
  2948. {
  2949. #ifdef NICENAMES
  2950. "outibr @rd,@rs,ra",16,0,
  2951. 0x04,
  2952. #endif
  2953. "outibr",OPC_outibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  2954.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,269},
  2955.  
  2956.  
  2957. /* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
  2958. {
  2959. #ifdef NICENAMES
  2960. "pop @rd,@rs",16,12,
  2961. 0x00,
  2962. #endif
  2963. "pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
  2964.     {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,270},
  2965.  
  2966.  
  2967. /* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
  2968. {
  2969. #ifdef NICENAMES
  2970. "pop address_dst(rd),@rs",16,16,
  2971. 0x00,
  2972. #endif
  2973. "pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
  2974.     {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,271},
  2975.  
  2976.  
  2977. /* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
  2978. {
  2979. #ifdef NICENAMES
  2980. "pop address_dst,@rs",16,16,
  2981. 0x00,
  2982. #endif
  2983. "pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
  2984.     {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,272},
  2985.  
  2986.  
  2987. /* 1001 0111 ssN0 dddd *** pop rd,@rs */
  2988. {
  2989. #ifdef NICENAMES
  2990. "pop rd,@rs",16,8,
  2991. 0x00,
  2992. #endif
  2993. "pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  2994.     {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,273},
  2995.  
  2996.  
  2997. /* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
  2998. {
  2999. #ifdef NICENAMES
  3000. "popl @rd,@rs",32,19,
  3001. 0x00,
  3002. #endif
  3003. "popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
  3004.     {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,274},
  3005.  
  3006.  
  3007. /* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
  3008. {
  3009. #ifdef NICENAMES
  3010. "popl address_dst(rd),@rs",32,23,
  3011. 0x00,
  3012. #endif
  3013. "popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
  3014.     {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,275},
  3015.  
  3016.  
  3017. /* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
  3018. {
  3019. #ifdef NICENAMES
  3020. "popl address_dst,@rs",32,23,
  3021. 0x00,
  3022. #endif
  3023. "popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
  3024.     {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,276},
  3025.  
  3026.  
  3027. /* 1001 0101 ssN0 dddd *** popl rrd,@rs */
  3028. {
  3029. #ifdef NICENAMES
  3030. "popl rrd,@rs",32,12,
  3031. 0x00,
  3032. #endif
  3033. "popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  3034.     {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,277},
  3035.  
  3036.  
  3037. /* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
  3038. {
  3039. #ifdef NICENAMES
  3040. "push @rd,@rs",16,13,
  3041. 0x00,
  3042. #endif
  3043. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
  3044.     {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,278},
  3045.  
  3046.  
  3047. /* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
  3048. {
  3049. #ifdef NICENAMES
  3050. "push @rd,address_src",16,14,
  3051. 0x00,
  3052. #endif
  3053. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3054.     {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,279},
  3055.  
  3056.  
  3057. /* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
  3058. {
  3059. #ifdef NICENAMES
  3060. "push @rd,address_src(rs)",16,14,
  3061. 0x00,
  3062. #endif
  3063. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
  3064.     {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,280},
  3065.  
  3066.  
  3067. /* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
  3068. {
  3069. #ifdef NICENAMES
  3070. "push @rd,imm16",16,12,
  3071. 0x00,
  3072. #endif
  3073. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  3074.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,281},
  3075.  
  3076.  
  3077. /* 1001 0011 ddN0 ssss *** push @rd,rs */
  3078. {
  3079. #ifdef NICENAMES
  3080. "push @rd,rs",16,9,
  3081. 0x00,
  3082. #endif
  3083. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3084.     {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,282},
  3085.  
  3086.  
  3087. /* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
  3088. {
  3089. #ifdef NICENAMES
  3090. "pushl @rd,@rs",32,20,
  3091. 0x00,
  3092. #endif
  3093. "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
  3094.     {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,283},
  3095.  
  3096.  
  3097. /* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
  3098. {
  3099. #ifdef NICENAMES
  3100. "pushl @rd,address_src",32,21,
  3101. 0x00,
  3102. #endif
  3103. "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3104.     {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,284},
  3105.  
  3106.  
  3107. /* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
  3108. {
  3109. #ifdef NICENAMES
  3110. "pushl @rd,address_src(rs)",32,21,
  3111. 0x00,
  3112. #endif
  3113. "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
  3114.     {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,285},
  3115.  
  3116.  
  3117. /* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
  3118. {
  3119. #ifdef NICENAMES
  3120. "pushl @rd,rrs",32,12,
  3121. 0x00,
  3122. #endif
  3123. "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  3124.     {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,286},
  3125.  
  3126.  
  3127. /* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
  3128. {
  3129. #ifdef NICENAMES
  3130. "res @rd,imm4",16,11,
  3131. 0x00,
  3132. #endif
  3133. "res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3134.     {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,287},
  3135.  
  3136.  
  3137. /* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
  3138. {
  3139. #ifdef NICENAMES
  3140. "res address_dst(rd),imm4",16,14,
  3141. 0x00,
  3142. #endif
  3143. "res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3144.     {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,288},
  3145.  
  3146.  
  3147. /* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
  3148. {
  3149. #ifdef NICENAMES
  3150. "res address_dst,imm4",16,13,
  3151. 0x00,
  3152. #endif
  3153. "res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  3154.     {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,289},
  3155.  
  3156.  
  3157. /* 1010 0011 dddd imm4 *** res rd,imm4 */
  3158. {
  3159. #ifdef NICENAMES
  3160. "res rd,imm4",16,4,
  3161. 0x00,
  3162. #endif
  3163. "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3164.     {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,290},
  3165.  
  3166.  
  3167. /* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
  3168. {
  3169. #ifdef NICENAMES
  3170. "res rd,rs",16,10,
  3171. 0x00,
  3172. #endif
  3173. "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3174.     {CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,291},
  3175.  
  3176.  
  3177. /* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
  3178. {
  3179. #ifdef NICENAMES
  3180. "resb @rd,imm4",8,11,
  3181. 0x00,
  3182. #endif
  3183. "resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3184.     {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,292},
  3185.  
  3186.  
  3187. /* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
  3188. {
  3189. #ifdef NICENAMES
  3190. "resb address_dst(rd),imm4",8,14,
  3191. 0x00,
  3192. #endif
  3193. "resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3194.     {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,293},
  3195.  
  3196.  
  3197. /* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
  3198. {
  3199. #ifdef NICENAMES
  3200. "resb address_dst,imm4",8,13,
  3201. 0x00,
  3202. #endif
  3203. "resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  3204.     {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,294},
  3205.  
  3206.  
  3207. /* 1010 0010 dddd imm4 *** resb rbd,imm4 */
  3208. {
  3209. #ifdef NICENAMES
  3210. "resb rbd,imm4",8,4,
  3211. 0x00,
  3212. #endif
  3213. "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3214.     {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,295},
  3215.  
  3216.  
  3217. /* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
  3218. {
  3219. #ifdef NICENAMES
  3220. "resb rbd,rs",8,10,
  3221. 0x00,
  3222. #endif
  3223. "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3224.     {CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,296},
  3225.  
  3226.  
  3227. /* 1000 1101 imm4 0011 *** resflg imm4 */
  3228. {
  3229. #ifdef NICENAMES
  3230. "resflg imm4",16,7,
  3231. 0x3c,
  3232. #endif
  3233. "resflg",OPC_resflg,0,{CLASS_IMM +(ARG_IMM4),},
  3234.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM4),CLASS_BIT+3,0,0,0,0,0,},1,2,297},
  3235.  
  3236.  
  3237. /* 1001 1110 0000 cccc *** ret cc */
  3238. {
  3239. #ifdef NICENAMES
  3240. "ret cc",16,10,
  3241. 0x00,
  3242. #endif
  3243. "ret",OPC_ret,0,{CLASS_CC,},
  3244.     {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,298},
  3245.  
  3246.  
  3247. /* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
  3248. {
  3249. #ifdef NICENAMES
  3250. "rl rd,imm1or2",16,6,
  3251. 0x3c,
  3252. #endif
  3253. "rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3254.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,299},
  3255.  
  3256.  
  3257. /* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
  3258. {
  3259. #ifdef NICENAMES
  3260. "rlb rbd,imm1or2",8,6,
  3261. 0x3c,
  3262. #endif
  3263. "rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3264.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,300},
  3265.  
  3266.  
  3267. /* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
  3268. {
  3269. #ifdef NICENAMES
  3270. "rlc rd,imm1or2",16,6,
  3271. 0x3c,
  3272. #endif
  3273. "rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3274.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,301},
  3275.  
  3276.  
  3277. /* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
  3278. {
  3279. #ifdef NICENAMES
  3280. "rlcb rbd,imm1or2",8,9,
  3281. 0x10,
  3282. #endif
  3283. "rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3284.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,302},
  3285.  
  3286.  
  3287. /* 1011 1110 aaaa bbbb *** rldb rbb,rba */
  3288. {
  3289. #ifdef NICENAMES
  3290. "rldb rbb,rba",8,9,
  3291. 0x10,
  3292. #endif
  3293. "rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
  3294.     {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,303},
  3295.  
  3296.  
  3297. /* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
  3298. {
  3299. #ifdef NICENAMES
  3300. "rr rd,imm1or2",16,6,
  3301. 0x3c,
  3302. #endif
  3303. "rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3304.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,304},
  3305.  
  3306.  
  3307. /* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
  3308. {
  3309. #ifdef NICENAMES
  3310. "rrb rbd,imm1or2",8,6,
  3311. 0x3c,
  3312. #endif
  3313. "rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3314.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,305},
  3315.  
  3316.  
  3317. /* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
  3318. {
  3319. #ifdef NICENAMES
  3320. "rrc rd,imm1or2",16,6,
  3321. 0x3c,
  3322. #endif
  3323. "rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3324.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,306},
  3325.  
  3326.  
  3327. /* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
  3328. {
  3329. #ifdef NICENAMES
  3330. "rrcb rbd,imm1or2",8,9,
  3331. 0x10,
  3332. #endif
  3333. "rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3334.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,307},
  3335.  
  3336.  
  3337. /* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
  3338. {
  3339. #ifdef NICENAMES
  3340. "rrdb rbb,rba",8,9,
  3341. 0x10,
  3342. #endif
  3343. "rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
  3344.     {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,308},
  3345.  
  3346.  
  3347. /* 0011 0110 imm8 *** rsvd36 */
  3348. {
  3349. #ifdef NICENAMES
  3350. "rsvd36",8,10,
  3351. 0x00,
  3352. #endif
  3353. "rsvd36",OPC_rsvd36,0,{0},
  3354.     {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,309},
  3355.  
  3356.  
  3357. /* 0011 1000 imm8 *** rsvd38 */
  3358. {
  3359. #ifdef NICENAMES
  3360. "rsvd38",8,10,
  3361. 0x00,
  3362. #endif
  3363. "rsvd38",OPC_rsvd38,0,{0},
  3364.     {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,310},
  3365.  
  3366.  
  3367. /* 0111 1000 imm8 *** rsvd78 */
  3368. {
  3369. #ifdef NICENAMES
  3370. "rsvd78",8,10,
  3371. 0x00,
  3372. #endif
  3373. "rsvd78",OPC_rsvd78,0,{0},
  3374.     {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,311},
  3375.  
  3376.  
  3377. /* 0111 1110 imm8 *** rsvd7e */
  3378. {
  3379. #ifdef NICENAMES
  3380. "rsvd7e",8,10,
  3381. 0x00,
  3382. #endif
  3383. "rsvd7e",OPC_rsvd7e,0,{0},
  3384.     {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,312},
  3385.  
  3386.  
  3387. /* 1001 1101 imm8 *** rsvd9d */
  3388. {
  3389. #ifdef NICENAMES
  3390. "rsvd9d",8,10,
  3391. 0x00,
  3392. #endif
  3393. "rsvd9d",OPC_rsvd9d,0,{0},
  3394.     {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,313},
  3395.  
  3396.  
  3397. /* 1001 1111 imm8 *** rsvd9f */
  3398. {
  3399. #ifdef NICENAMES
  3400. "rsvd9f",8,10,
  3401. 0x00,
  3402. #endif
  3403. "rsvd9f",OPC_rsvd9f,0,{0},
  3404.     {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,314},
  3405.  
  3406.  
  3407. /* 1011 1001 imm8 *** rsvdb9 */
  3408. {
  3409. #ifdef NICENAMES
  3410. "rsvdb9",8,10,
  3411. 0x00,
  3412. #endif
  3413. "rsvdb9",OPC_rsvdb9,0,{0},
  3414.     {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,315},
  3415.  
  3416.  
  3417. /* 1011 1111 imm8 *** rsvdbf */
  3418. {
  3419. #ifdef NICENAMES
  3420. "rsvdbf",8,10,
  3421. 0x00,
  3422. #endif
  3423. "rsvdbf",OPC_rsvdbf,0,{0},
  3424.     {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,316},
  3425.  
  3426.  
  3427. /* 1011 0111 ssss dddd *** sbc rd,rs */
  3428. {
  3429. #ifdef NICENAMES
  3430. "sbc rd,rs",16,5,
  3431. 0x3c,
  3432. #endif
  3433. "sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3434.     {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,317},
  3435.  
  3436.  
  3437. /* 1011 0110 ssss dddd *** sbcb rbd,rbs */
  3438. {
  3439. #ifdef NICENAMES
  3440. "sbcb rbd,rbs",8,5,
  3441. 0x3f,
  3442. #endif
  3443. "sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  3444.     {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,318},
  3445.  
  3446.  
  3447. /* 0111 1111 imm8 *** sc imm8 */
  3448. {
  3449. #ifdef NICENAMES
  3450. "sc imm8",8,33,
  3451. 0x3f,
  3452. #endif
  3453. "sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
  3454.     {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,319},
  3455.  
  3456.  
  3457. /* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
  3458. {
  3459. #ifdef NICENAMES
  3460. "sda rd,rs",16,15,
  3461. 0x3c,
  3462. #endif
  3463. "sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3464.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,320},
  3465.  
  3466.  
  3467. /* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
  3468. {
  3469. #ifdef NICENAMES
  3470. "sdab rbd,rs",8,15,
  3471. 0x3c,
  3472. #endif
  3473. "sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3474.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,321},
  3475.  
  3476.  
  3477. /* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
  3478. {
  3479. #ifdef NICENAMES
  3480. "sdal rrd,rs",32,15,
  3481. 0x3c,
  3482. #endif
  3483. "sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3484.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,322},
  3485.  
  3486.  
  3487. /* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
  3488. {
  3489. #ifdef NICENAMES
  3490. "sdl rd,rs",16,15,
  3491. 0x38,
  3492. #endif
  3493. "sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3494.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,323},
  3495.  
  3496.  
  3497. /* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
  3498. {
  3499. #ifdef NICENAMES
  3500. "sdlb rbd,rs",8,15,
  3501. 0x38,
  3502. #endif
  3503. "sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3504.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,324},
  3505.  
  3506.  
  3507. /* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
  3508. {
  3509. #ifdef NICENAMES
  3510. "sdll rrd,rs",32,15,
  3511. 0x38,
  3512. #endif
  3513. "sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3514.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,325},
  3515.  
  3516.  
  3517. /* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
  3518. {
  3519. #ifdef NICENAMES
  3520. "set @rd,imm4",16,11,
  3521. 0x00,
  3522. #endif
  3523. "set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3524.     {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,326},
  3525.  
  3526.  
  3527. /* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
  3528. {
  3529. #ifdef NICENAMES
  3530. "set address_dst(rd),imm4",16,14,
  3531. 0x00,
  3532. #endif
  3533. "set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3534.     {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,327},
  3535.  
  3536.  
  3537. /* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
  3538. {
  3539. #ifdef NICENAMES
  3540. "set address_dst,imm4",16,13,
  3541. 0x00,
  3542. #endif
  3543. "set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  3544.     {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,328},
  3545.  
  3546.  
  3547. /* 1010 0101 dddd imm4 *** set rd,imm4 */
  3548. {
  3549. #ifdef NICENAMES
  3550. "set rd,imm4",16,4,
  3551. 0x00,
  3552. #endif
  3553. "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3554.     {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,329},
  3555.  
  3556.  
  3557. /* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
  3558. {
  3559. #ifdef NICENAMES
  3560. "set rd,rs",16,10,
  3561. 0x00,
  3562. #endif
  3563. "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3564.     {CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,330},
  3565.  
  3566.  
  3567. /* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
  3568. {
  3569. #ifdef NICENAMES
  3570. "setb @rd,imm4",8,11,
  3571. 0x00,
  3572. #endif
  3573. "setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3574.     {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,331},
  3575.  
  3576.  
  3577. /* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
  3578. {
  3579. #ifdef NICENAMES
  3580. "setb address_dst(rd),imm4",8,14,
  3581. 0x00,
  3582. #endif
  3583. "setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3584.     {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,332},
  3585.  
  3586.  
  3587. /* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
  3588. {
  3589. #ifdef NICENAMES
  3590. "setb address_dst,imm4",8,13,
  3591. 0x00,
  3592. #endif
  3593. "setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  3594.     {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,333},
  3595.  
  3596.  
  3597. /* 1010 0100 dddd imm4 *** setb rbd,imm4 */
  3598. {
  3599. #ifdef NICENAMES
  3600. "setb rbd,imm4",8,4,
  3601. 0x00,
  3602. #endif
  3603. "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3604.     {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,334},
  3605.  
  3606.  
  3607. /* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
  3608. {
  3609. #ifdef NICENAMES
  3610. "setb rbd,rs",8,10,
  3611. 0x00,
  3612. #endif
  3613. "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3614.     {CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,335},
  3615.  
  3616.  
  3617. /* 1000 1101 imm4 0001 *** setflg imm4 */
  3618. {
  3619. #ifdef NICENAMES
  3620. "setflg imm4",16,7,
  3621. 0x3c,
  3622. #endif
  3623. "setflg",OPC_setflg,0,{CLASS_IMM +(ARG_IMM4),},
  3624.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM4),CLASS_BIT+1,0,0,0,0,0,},1,2,336},
  3625.  
  3626.  
  3627. /* 0011 1100 dddd 0101 imm16 *** sinb rbd,imm16 */
  3628. {
  3629. #ifdef NICENAMES
  3630. "sinb rbd,imm16",8,0,
  3631. 0x00,
  3632. #endif
  3633. "sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  3634.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,337},
  3635.  
  3636.  
  3637. /* 0011 1101 dddd 0101 imm16 *** sinb rd,imm16 */
  3638. {
  3639. #ifdef NICENAMES
  3640. "sinb rd,imm16",8,0,
  3641. 0x00,
  3642. #endif
  3643. "sinb",OPC_sinb,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  3644.     {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,338},
  3645.  
  3646.  
  3647. /* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
  3648. {
  3649. #ifdef NICENAMES
  3650. "sind @rd,@rs,ra",16,0,
  3651. 0x00,
  3652. #endif
  3653. "sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3654.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,339},
  3655.  
  3656.  
  3657. /* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
  3658. {
  3659. #ifdef NICENAMES
  3660. "sindb @rd,@rs,rba",8,0,
  3661. 0x00,
  3662. #endif
  3663. "sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  3664.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,340},
  3665.  
  3666.  
  3667. /* 0011 1100 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
  3668. {
  3669. #ifdef NICENAMES
  3670. "sinib @rd,@rs,ra",8,0,
  3671. 0x00,
  3672. #endif
  3673. "sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3674.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,341},
  3675.  
  3676.  
  3677. /* 0011 1100 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
  3678. {
  3679. #ifdef NICENAMES
  3680. "sinibr @rd,@rs,ra",16,0,
  3681. 0x00,
  3682. #endif
  3683. "sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3684.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,342},
  3685.  
  3686.  
  3687. /* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
  3688. {
  3689. #ifdef NICENAMES
  3690. "sla rd,imm8",16,13,
  3691. 0x3c,
  3692. #endif
  3693. "sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3694.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,343},
  3695.  
  3696.  
  3697. /* 1011 0010 dddd 1001  0000 0000 imm8 *** slab rbd,imm8 */
  3698. {
  3699. #ifdef NICENAMES
  3700. "slab rbd,imm8",8,13,
  3701. 0x3c,
  3702. #endif
  3703. "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3704.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,344},
  3705.  
  3706.  
  3707. /* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
  3708. {
  3709. #ifdef NICENAMES
  3710. "slal rrd,imm8",32,13,
  3711. 0x3c,
  3712. #endif
  3713. "slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3714.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,345},
  3715.  
  3716.  
  3717. /* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
  3718. {
  3719. #ifdef NICENAMES
  3720. "sll rd,imm8",16,13,
  3721. 0x38,
  3722. #endif
  3723. "sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3724.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,346},
  3725.  
  3726.  
  3727. /* 1011 0010 dddd 0001  0000 0000 imm8 *** sllb rbd,imm8 */
  3728. {
  3729. #ifdef NICENAMES
  3730. "sllb rbd,imm8",8,13,
  3731. 0x38,
  3732. #endif
  3733. "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3734.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,347},
  3735.  
  3736.  
  3737. /* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
  3738. {
  3739. #ifdef NICENAMES
  3740. "slll rrd,imm8",32,13,
  3741. 0x38,
  3742. #endif
  3743. "slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3744.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,348},
  3745.  
  3746.  
  3747. /* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
  3748. {
  3749. #ifdef NICENAMES
  3750. "sout imm16,rs",16,0,
  3751. 0x00,
  3752. #endif
  3753. "sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
  3754.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,349},
  3755.  
  3756.  
  3757. /* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
  3758. {
  3759. #ifdef NICENAMES
  3760. "soutb imm16,rbs",8,0,
  3761. 0x00,
  3762. #endif
  3763. "soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
  3764.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,350},
  3765.  
  3766.  
  3767. /* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
  3768. {
  3769. #ifdef NICENAMES
  3770. "soutd @rd,@rs,ra",16,0,
  3771. 0x00,
  3772. #endif
  3773. "soutd",OPC_soutd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3774.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,351},
  3775.  
  3776.  
  3777. /* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
  3778. {
  3779. #ifdef NICENAMES
  3780. "soutdb @rd,@rs,rba",8,0,
  3781. 0x00,
  3782. #endif
  3783. "soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  3784.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,352},
  3785.  
  3786.  
  3787. /* 0011 1100 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
  3788. {
  3789. #ifdef NICENAMES
  3790. "soutib @rd,@rs,ra",8,0,
  3791. 0x00,
  3792. #endif
  3793. "soutib",OPC_soutib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3794.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,353},
  3795.  
  3796.  
  3797. /* 0011 1100 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
  3798. {
  3799. #ifdef NICENAMES
  3800. "soutibr @rd,@rs,ra",16,0,
  3801. 0x00,
  3802. #endif
  3803. "soutibr",OPC_soutibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3804.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,354},
  3805.  
  3806.  
  3807. /* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
  3808. {
  3809. #ifdef NICENAMES
  3810. "sra rd,imm8",16,13,
  3811. 0x3c,
  3812. #endif
  3813. "sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3814.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,355},
  3815.  
  3816.  
  3817. /* 1011 0010 dddd 1001 1111 1111 nim8 *** srab rbd,imm8 */
  3818. {
  3819. #ifdef NICENAMES
  3820. "srab rbd,imm8",8,13,
  3821. 0x3c,
  3822. #endif
  3823. "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3824.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,356},
  3825.  
  3826.  
  3827. /* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
  3828. {
  3829. #ifdef NICENAMES
  3830. "sral rrd,imm8",32,13,
  3831. 0x3c,
  3832. #endif
  3833. "sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3834.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,357},
  3835.  
  3836.  
  3837. /* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
  3838. {
  3839. #ifdef NICENAMES
  3840. "srl rd,imm8",16,13,
  3841. 0x3c,
  3842. #endif
  3843. "srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3844.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,358},
  3845.  
  3846.  
  3847. /* 1011 0010 dddd 0001 1111 1111 nim8 *** srlb rbd,imm8 */
  3848. {
  3849. #ifdef NICENAMES
  3850. "srlb rbd,imm8",8,13,
  3851. 0x3c,
  3852. #endif
  3853. "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3854.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,359},
  3855.  
  3856.  
  3857. /* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
  3858. {
  3859. #ifdef NICENAMES
  3860. "srll rrd,imm8",32,13,
  3861. 0x3c,
  3862. #endif
  3863. "srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3864.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,360},
  3865.  
  3866.  
  3867. /* 0000 0011 ssN0 dddd *** sub rd,@rs */
  3868. {
  3869. #ifdef NICENAMES
  3870. "sub rd,@rs",16,7,
  3871. 0x3c,
  3872. #endif
  3873. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  3874.     {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,361},
  3875.  
  3876.  
  3877. /* 0100 0011 0000 dddd address_src *** sub rd,address_src */
  3878. {
  3879. #ifdef NICENAMES
  3880. "sub rd,address_src",16,9,
  3881. 0x3c,
  3882. #endif
  3883. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3884.     {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,362},
  3885.  
  3886.  
  3887. /* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
  3888. {
  3889. #ifdef NICENAMES
  3890. "sub rd,address_src(rs)",16,10,
  3891. 0x3c,
  3892. #endif
  3893. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  3894.     {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,363},
  3895.  
  3896.  
  3897. /* 0000 0010 0000 dddd imm16 *** sub rd,imm16 */
  3898. {
  3899. #ifdef NICENAMES
  3900. "sub rd,imm16",16,7,
  3901. 0x3c,
  3902. #endif
  3903. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  3904.     {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,364},
  3905.  
  3906.  
  3907. /* 1000 0011 ssss dddd *** sub rd,rs */
  3908. {
  3909. #ifdef NICENAMES
  3910. "sub rd,rs",16,4,
  3911. 0x3c,
  3912. #endif
  3913. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3914.     {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,365},
  3915.  
  3916.  
  3917. /* 0000 0010 ssN0 dddd *** subb rbd,@rs */
  3918. {
  3919. #ifdef NICENAMES
  3920. "subb rbd,@rs",8,7,
  3921. 0x3f,
  3922. #endif
  3923. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  3924.     {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,366},
  3925.  
  3926.  
  3927. /* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
  3928. {
  3929. #ifdef NICENAMES
  3930. "subb rbd,address_src",8,9,
  3931. 0x3f,
  3932. #endif
  3933. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3934.     {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,367},
  3935.  
  3936.  
  3937. /* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
  3938. {
  3939. #ifdef NICENAMES
  3940. "subb rbd,address_src(rs)",8,10,
  3941. 0x3f,
  3942. #endif
  3943. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  3944.     {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,368},
  3945.  
  3946.  
  3947. /* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
  3948. {
  3949. #ifdef NICENAMES
  3950. "subb rbd,imm8",8,7,
  3951. 0x3f,
  3952. #endif
  3953. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3954.     {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,369},
  3955.  
  3956.  
  3957. /* 1000 0010 ssss dddd *** subb rbd,rbs */
  3958. {
  3959. #ifdef NICENAMES
  3960. "subb rbd,rbs",8,4,
  3961. 0x3f,
  3962. #endif
  3963. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  3964.     {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,370},
  3965.  
  3966.  
  3967. /* 0001 0010 ssN0 dddd *** subl rrd,@rs */
  3968. {
  3969. #ifdef NICENAMES
  3970. "subl rrd,@rs",32,14,
  3971. 0x3c,
  3972. #endif
  3973. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  3974.     {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,371},
  3975.  
  3976.  
  3977. /* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
  3978. {
  3979. #ifdef NICENAMES
  3980. "subl rrd,address_src",32,15,
  3981. 0x3c,
  3982. #endif
  3983. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3984.     {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,372},
  3985.  
  3986.  
  3987. /* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
  3988. {
  3989. #ifdef NICENAMES
  3990. "subl rrd,address_src(rs)",32,16,
  3991. 0x3c,
  3992. #endif
  3993. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  3994.     {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,373},
  3995.  
  3996.  
  3997. /* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
  3998. {
  3999. #ifdef NICENAMES
  4000. "subl rrd,imm32",32,14,
  4001. 0x3c,
  4002. #endif
  4003. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  4004.     {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,374},
  4005.  
  4006.  
  4007. /* 1001 0010 ssss dddd *** subl rrd,rrs */
  4008. {
  4009. #ifdef NICENAMES
  4010. "subl rrd,rrs",32,8,
  4011. 0x3c,
  4012. #endif
  4013. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  4014.     {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,375},
  4015.  
  4016.  
  4017. /* 1010 1111 dddd cccc *** tcc cc,rd */
  4018. {
  4019. #ifdef NICENAMES
  4020. "tcc cc,rd",16,5,
  4021. 0x00,
  4022. #endif
  4023. "tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
  4024.     {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,376},
  4025.  
  4026.  
  4027. /* 1010 1110 dddd cccc *** tccb cc,rbd */
  4028. {
  4029. #ifdef NICENAMES
  4030. "tccb cc,rbd",8,5,
  4031. 0x00,
  4032. #endif
  4033. "tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
  4034.     {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,377},
  4035.  
  4036.  
  4037. /* 0000 1101 ddN0 0100 *** test @rd */
  4038. {
  4039. #ifdef NICENAMES
  4040. "test @rd",16,8,
  4041. 0x18,
  4042. #endif
  4043. "test",OPC_test,0,{CLASS_IR+(ARG_RD),},
  4044.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,378},
  4045.  
  4046.  
  4047. /* 0100 1101 0000 0100 address_dst *** test address_dst */
  4048. {
  4049. #ifdef NICENAMES
  4050. "test address_dst",16,11,
  4051. 0x00,
  4052. #endif
  4053. "test",OPC_test,0,{CLASS_DA+(ARG_DST),},
  4054.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,379},
  4055.  
  4056.  
  4057. /* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
  4058. {
  4059. #ifdef NICENAMES
  4060. "test address_dst(rd)",16,12,
  4061. 0x00,
  4062. #endif
  4063. "test",OPC_test,0,{CLASS_X+(ARG_RD),},
  4064.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,380},
  4065.  
  4066.  
  4067. /* 1000 1101 dddd 0100 *** test rd */
  4068. {
  4069. #ifdef NICENAMES
  4070. "test rd",16,7,
  4071. 0x00,
  4072. #endif
  4073. "test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
  4074.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,381},
  4075.  
  4076.  
  4077. /* 0000 1100 ddN0 0100 *** testb @rd */
  4078. {
  4079. #ifdef NICENAMES
  4080. "testb @rd",8,8,
  4081. 0x1c,
  4082. #endif
  4083. "testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
  4084.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,382},
  4085.  
  4086.  
  4087. /* 0100 1100 0000 0100 address_dst *** testb address_dst */
  4088. {
  4089. #ifdef NICENAMES
  4090. "testb address_dst",8,11,
  4091. 0x1c,
  4092. #endif
  4093. "testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
  4094.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,383},
  4095.  
  4096.  
  4097. /* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
  4098. {
  4099. #ifdef NICENAMES
  4100. "testb address_dst(rd)",8,12,
  4101. 0x1c,
  4102. #endif
  4103. "testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
  4104.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,384},
  4105.  
  4106.  
  4107. /* 1000 1100 dddd 0100 *** testb rbd */
  4108. {
  4109. #ifdef NICENAMES
  4110. "testb rbd",8,7,
  4111. 0x1c,
  4112. #endif
  4113. "testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
  4114.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,385},
  4115.  
  4116.  
  4117. /* 0001 1100 ddN0 1000 *** testl @rd */
  4118. {
  4119. #ifdef NICENAMES
  4120. "testl @rd",32,13,
  4121. 0x18,
  4122. #endif
  4123. "testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
  4124.     {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,386},
  4125.  
  4126.  
  4127. /* 0101 1100 0000 1000 address_dst *** testl address_dst */
  4128. {
  4129. #ifdef NICENAMES
  4130. "testl address_dst",32,16,
  4131. 0x18,
  4132. #endif
  4133. "testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
  4134.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,387},
  4135.  
  4136.  
  4137. /* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
  4138. {
  4139. #ifdef NICENAMES
  4140. "testl address_dst(rd)",32,17,
  4141. 0x18,
  4142. #endif
  4143. "testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
  4144.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,388},
  4145.  
  4146.  
  4147. /* 1001 1100 dddd 1000 *** testl rrd */
  4148. {
  4149. #ifdef NICENAMES
  4150. "testl rrd",32,13,
  4151. 0x18,
  4152. #endif
  4153. "testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
  4154.     {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,389},
  4155.  
  4156.  
  4157. /* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
  4158. {
  4159. #ifdef NICENAMES
  4160. "trdb @rd,@rs,rba",8,25,
  4161. 0x1c,
  4162. #endif
  4163. "trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  4164.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,390},
  4165.  
  4166.  
  4167. /* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
  4168. {
  4169. #ifdef NICENAMES
  4170. "trdrb @rd,@rs,rba",8,25,
  4171. 0x1c,
  4172. #endif
  4173. "trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  4174.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,391},
  4175.  
  4176.  
  4177. /* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
  4178. {
  4179. #ifdef NICENAMES
  4180. "trib @rd,@rs,rbr",8,25,
  4181. 0x1c,
  4182. #endif
  4183. "trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
  4184.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,392},
  4185.  
  4186.  
  4187. /* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
  4188. {
  4189. #ifdef NICENAMES
  4190. "trirb @rd,@rs,rbr",8,25,
  4191. 0x1c,
  4192. #endif
  4193. "trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
  4194.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,393},
  4195.  
  4196.  
  4197. /* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
  4198. {
  4199. #ifdef NICENAMES
  4200. "trtdrb @ra,@rb,rbr",8,25,
  4201. 0x1c,
  4202. #endif
  4203. "trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
  4204.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,394},
  4205.  
  4206.  
  4207. /* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rr */
  4208. {
  4209. #ifdef NICENAMES
  4210. "trtib @ra,@rb,rr",8,25,
  4211. 0x1c,
  4212. #endif
  4213. "trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
  4214.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,395},
  4215.  
  4216.  
  4217. /* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
  4218. {
  4219. #ifdef NICENAMES
  4220. "trtirb @ra,@rb,rbr",8,25,
  4221. 0x1c,
  4222. #endif
  4223. "trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
  4224.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,396},
  4225.  
  4226.  
  4227. /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
  4228. {
  4229. #ifdef NICENAMES
  4230. "trtrb @ra,@rb,rbr",8,25,
  4231. 0x1c,
  4232. #endif
  4233. "trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
  4234.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,397},
  4235.  
  4236.  
  4237. /* 0000 1101 ddN0 0110 *** tset @rd */
  4238. {
  4239. #ifdef NICENAMES
  4240. "tset @rd",16,11,
  4241. 0x08,
  4242. #endif
  4243. "tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
  4244.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,398},
  4245.  
  4246.  
  4247. /* 0100 1101 0000 0110 address_dst *** tset address_dst */
  4248. {
  4249. #ifdef NICENAMES
  4250. "tset address_dst",16,14,
  4251. 0x08,
  4252. #endif
  4253. "tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
  4254.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,399},
  4255.  
  4256.  
  4257. /* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
  4258. {
  4259. #ifdef NICENAMES
  4260. "tset address_dst(rd)",16,15,
  4261. 0x08,
  4262. #endif
  4263. "tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
  4264.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,400},
  4265.  
  4266.  
  4267. /* 1000 1101 dddd 0110 *** tset rd */
  4268. {
  4269. #ifdef NICENAMES
  4270. "tset rd",16,7,
  4271. 0x08,
  4272. #endif
  4273. "tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
  4274.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,401},
  4275.  
  4276.  
  4277. /* 0000 1100 ddN0 0110 *** tsetb @rd */
  4278. {
  4279. #ifdef NICENAMES
  4280. "tsetb @rd",8,11,
  4281. 0x08,
  4282. #endif
  4283. "tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
  4284.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,402},
  4285.  
  4286.  
  4287. /* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
  4288. {
  4289. #ifdef NICENAMES
  4290. "tsetb address_dst",8,14,
  4291. 0x08,
  4292. #endif
  4293. "tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
  4294.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,403},
  4295.  
  4296.  
  4297. /* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
  4298. {
  4299. #ifdef NICENAMES
  4300. "tsetb address_dst(rd)",8,15,
  4301. 0x08,
  4302. #endif
  4303. "tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
  4304.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,404},
  4305.  
  4306.  
  4307. /* 1000 1100 dddd 0110 *** tsetb rbd */
  4308. {
  4309. #ifdef NICENAMES
  4310. "tsetb rbd",8,7,
  4311. 0x08,
  4312. #endif
  4313. "tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
  4314.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,405},
  4315.  
  4316.  
  4317. /* 0000 1001 ssN0 dddd *** xor rd,@rs */
  4318. {
  4319. #ifdef NICENAMES
  4320. "xor rd,@rs",16,7,
  4321. 0x18,
  4322. #endif
  4323. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  4324.     {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,406},
  4325.  
  4326.  
  4327. /* 0100 1001 0000 dddd address_src *** xor rd,address_src */
  4328. {
  4329. #ifdef NICENAMES
  4330. "xor rd,address_src",16,9,
  4331. 0x18,
  4332. #endif
  4333. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  4334.     {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,407},
  4335.  
  4336.  
  4337. /* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
  4338. {
  4339. #ifdef NICENAMES
  4340. "xor rd,address_src(rs)",16,10,
  4341. 0x18,
  4342. #endif
  4343. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  4344.     {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,408},
  4345.  
  4346.  
  4347. /* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
  4348. {
  4349. #ifdef NICENAMES
  4350. "xor rd,imm16",16,7,
  4351. 0x18,
  4352. #endif
  4353. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  4354.     {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,409},
  4355.  
  4356.  
  4357. /* 1000 1001 ssss dddd *** xor rd,rs */
  4358. {
  4359. #ifdef NICENAMES
  4360. "xor rd,rs",16,4,
  4361. 0x18,
  4362. #endif
  4363. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  4364.     {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,410},
  4365.  
  4366.  
  4367. /* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
  4368. {
  4369. #ifdef NICENAMES
  4370. "xorb rbd,@rs",8,7,
  4371. 0x1c,
  4372. #endif
  4373. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  4374.     {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,411},
  4375.  
  4376.  
  4377. /* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
  4378. {
  4379. #ifdef NICENAMES
  4380. "xorb rbd,address_src",8,9,
  4381. 0x1c,
  4382. #endif
  4383. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  4384.     {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,412},
  4385.  
  4386.  
  4387. /* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
  4388. {
  4389. #ifdef NICENAMES
  4390. "xorb rbd,address_src(rs)",8,10,
  4391. 0x1c,
  4392. #endif
  4393. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  4394.     {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,413},
  4395.  
  4396.  
  4397. /* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
  4398. {
  4399. #ifdef NICENAMES
  4400. "xorb rbd,imm8",8,7,
  4401. 0x1c,
  4402. #endif
  4403. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  4404.     {CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,414},
  4405.  
  4406.  
  4407. /* 1000 1000 ssss dddd *** xorb rbd,rbs */
  4408. {
  4409. #ifdef NICENAMES
  4410. "xorb rbd,rbs",8,4,
  4411. 0x1c,
  4412. #endif
  4413. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  4414.     {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,415},
  4415.  
  4416.  
  4417. /* 1000 1000 ssss dddd *** xorb rbd,rbs */
  4418. {
  4419. #ifdef NICENAMES
  4420. "xorb rbd,rbs",8,4,
  4421. 0x01,
  4422. #endif
  4423. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  4424.     {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,416},
  4425. 0,0};
  4426. #endif
  4427.