1 /* Simulator instruction decoder for xstormy16.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2004 Red Hat, Inc.
7 This file is part of the Red Hat simulators.
16 #include "xstormy16.h"
18 using namespace xstormy16; // FIXME: namespace organization still wip
21 // The instruction descriptor array.
23 xstormy16_idesc xstormy16_idesc::idesc_table[XSTORMY16_INSN_SYSCALL + 1] =
25 { xstormy16_sem_x_invalid, "X_INVALID", XSTORMY16_INSN_X_INVALID, { 0|(1<<CGEN_INSN_VIRTUAL), (1<<MACH_BASE) } },
26 { xstormy16_sem_movlmemimm, "MOVLMEMIMM", XSTORMY16_INSN_MOVLMEMIMM, { 0, (1<<MACH_BASE) } },
27 { xstormy16_sem_movhmemimm, "MOVHMEMIMM", XSTORMY16_INSN_MOVHMEMIMM, { 0, (1<<MACH_BASE) } },
28 { xstormy16_sem_movlgrmem, "MOVLGRMEM", XSTORMY16_INSN_MOVLGRMEM, { 0, (1<<MACH_BASE) } },
29 { xstormy16_sem_movhgrmem, "MOVHGRMEM", XSTORMY16_INSN_MOVHGRMEM, { 0, (1<<MACH_BASE) } },
30 { xstormy16_sem_movlmemgr, "MOVLMEMGR", XSTORMY16_INSN_MOVLMEMGR, { 0, (1<<MACH_BASE) } },
31 { xstormy16_sem_movhmemgr, "MOVHMEMGR", XSTORMY16_INSN_MOVHMEMGR, { 0, (1<<MACH_BASE) } },
32 { xstormy16_sem_movgrgri, "MOVGRGRI", XSTORMY16_INSN_MOVGRGRI, { 0, (1<<MACH_BASE) } },
33 { xstormy16_sem_movgrgripostinc, "MOVGRGRIPOSTINC", XSTORMY16_INSN_MOVGRGRIPOSTINC, { 0, (1<<MACH_BASE) } },
34 { xstormy16_sem_movgrgripredec, "MOVGRGRIPREDEC", XSTORMY16_INSN_MOVGRGRIPREDEC, { 0, (1<<MACH_BASE) } },
35 { xstormy16_sem_movgrigr, "MOVGRIGR", XSTORMY16_INSN_MOVGRIGR, { 0, (1<<MACH_BASE) } },
36 { xstormy16_sem_movgripostincgr, "MOVGRIPOSTINCGR", XSTORMY16_INSN_MOVGRIPOSTINCGR, { 0, (1<<MACH_BASE) } },
37 { xstormy16_sem_movgripredecgr, "MOVGRIPREDECGR", XSTORMY16_INSN_MOVGRIPREDECGR, { 0, (1<<MACH_BASE) } },
38 { xstormy16_sem_movgrgrii, "MOVGRGRII", XSTORMY16_INSN_MOVGRGRII, { 0, (1<<MACH_BASE) } },
39 { xstormy16_sem_movgrgriipostinc, "MOVGRGRIIPOSTINC", XSTORMY16_INSN_MOVGRGRIIPOSTINC, { 0, (1<<MACH_BASE) } },
40 { xstormy16_sem_movgrgriipredec, "MOVGRGRIIPREDEC", XSTORMY16_INSN_MOVGRGRIIPREDEC, { 0, (1<<MACH_BASE) } },
41 { xstormy16_sem_movgriigr, "MOVGRIIGR", XSTORMY16_INSN_MOVGRIIGR, { 0, (1<<MACH_BASE) } },
42 { xstormy16_sem_movgriipostincgr, "MOVGRIIPOSTINCGR", XSTORMY16_INSN_MOVGRIIPOSTINCGR, { 0, (1<<MACH_BASE) } },
43 { xstormy16_sem_movgriipredecgr, "MOVGRIIPREDECGR", XSTORMY16_INSN_MOVGRIIPREDECGR, { 0, (1<<MACH_BASE) } },
44 { xstormy16_sem_movgrgr, "MOVGRGR", XSTORMY16_INSN_MOVGRGR, { 0, (1<<MACH_BASE) } },
45 { xstormy16_sem_movwimm8, "MOVWIMM8", XSTORMY16_INSN_MOVWIMM8, { 0, (1<<MACH_BASE) } },
46 { xstormy16_sem_movwgrimm8, "MOVWGRIMM8", XSTORMY16_INSN_MOVWGRIMM8, { 0, (1<<MACH_BASE) } },
47 { xstormy16_sem_movwgrimm16, "MOVWGRIMM16", XSTORMY16_INSN_MOVWGRIMM16, { 0, (1<<MACH_BASE) } },
48 { xstormy16_sem_movlowgr, "MOVLOWGR", XSTORMY16_INSN_MOVLOWGR, { 0, (1<<MACH_BASE) } },
49 { xstormy16_sem_movhighgr, "MOVHIGHGR", XSTORMY16_INSN_MOVHIGHGR, { 0, (1<<MACH_BASE) } },
50 { xstormy16_sem_movfgrgri, "MOVFGRGRI", XSTORMY16_INSN_MOVFGRGRI, { 0, (1<<MACH_BASE) } },
51 { xstormy16_sem_movfgrgripostinc, "MOVFGRGRIPOSTINC", XSTORMY16_INSN_MOVFGRGRIPOSTINC, { 0, (1<<MACH_BASE) } },
52 { xstormy16_sem_movfgrgripredec, "MOVFGRGRIPREDEC", XSTORMY16_INSN_MOVFGRGRIPREDEC, { 0, (1<<MACH_BASE) } },
53 { xstormy16_sem_movfgrigr, "MOVFGRIGR", XSTORMY16_INSN_MOVFGRIGR, { 0, (1<<MACH_BASE) } },
54 { xstormy16_sem_movfgripostincgr, "MOVFGRIPOSTINCGR", XSTORMY16_INSN_MOVFGRIPOSTINCGR, { 0, (1<<MACH_BASE) } },
55 { xstormy16_sem_movfgripredecgr, "MOVFGRIPREDECGR", XSTORMY16_INSN_MOVFGRIPREDECGR, { 0, (1<<MACH_BASE) } },
56 { xstormy16_sem_movfgrgrii, "MOVFGRGRII", XSTORMY16_INSN_MOVFGRGRII, { 0, (1<<MACH_BASE) } },
57 { xstormy16_sem_movfgrgriipostinc, "MOVFGRGRIIPOSTINC", XSTORMY16_INSN_MOVFGRGRIIPOSTINC, { 0, (1<<MACH_BASE) } },
58 { xstormy16_sem_movfgrgriipredec, "MOVFGRGRIIPREDEC", XSTORMY16_INSN_MOVFGRGRIIPREDEC, { 0, (1<<MACH_BASE) } },
59 { xstormy16_sem_movfgriigr, "MOVFGRIIGR", XSTORMY16_INSN_MOVFGRIIGR, { 0, (1<<MACH_BASE) } },
60 { xstormy16_sem_movfgriipostincgr, "MOVFGRIIPOSTINCGR", XSTORMY16_INSN_MOVFGRIIPOSTINCGR, { 0, (1<<MACH_BASE) } },
61 { xstormy16_sem_movfgriipredecgr, "MOVFGRIIPREDECGR", XSTORMY16_INSN_MOVFGRIIPREDECGR, { 0, (1<<MACH_BASE) } },
62 { xstormy16_sem_maskgrgr, "MASKGRGR", XSTORMY16_INSN_MASKGRGR, { 0, (1<<MACH_BASE) } },
63 { xstormy16_sem_maskgrimm16, "MASKGRIMM16", XSTORMY16_INSN_MASKGRIMM16, { 0, (1<<MACH_BASE) } },
64 { xstormy16_sem_pushgr, "PUSHGR", XSTORMY16_INSN_PUSHGR, { 0, (1<<MACH_BASE) } },
65 { xstormy16_sem_popgr, "POPGR", XSTORMY16_INSN_POPGR, { 0, (1<<MACH_BASE) } },
66 { xstormy16_sem_swpn, "SWPN", XSTORMY16_INSN_SWPN, { 0, (1<<MACH_BASE) } },
67 { xstormy16_sem_swpb, "SWPB", XSTORMY16_INSN_SWPB, { 0, (1<<MACH_BASE) } },
68 { xstormy16_sem_swpw, "SWPW", XSTORMY16_INSN_SWPW, { 0, (1<<MACH_BASE) } },
69 { xstormy16_sem_andgrgr, "ANDGRGR", XSTORMY16_INSN_ANDGRGR, { 0, (1<<MACH_BASE) } },
70 { xstormy16_sem_andimm8, "ANDIMM8", XSTORMY16_INSN_ANDIMM8, { 0, (1<<MACH_BASE) } },
71 { xstormy16_sem_andgrimm16, "ANDGRIMM16", XSTORMY16_INSN_ANDGRIMM16, { 0, (1<<MACH_BASE) } },
72 { xstormy16_sem_orgrgr, "ORGRGR", XSTORMY16_INSN_ORGRGR, { 0, (1<<MACH_BASE) } },
73 { xstormy16_sem_orimm8, "ORIMM8", XSTORMY16_INSN_ORIMM8, { 0, (1<<MACH_BASE) } },
74 { xstormy16_sem_orgrimm16, "ORGRIMM16", XSTORMY16_INSN_ORGRIMM16, { 0, (1<<MACH_BASE) } },
75 { xstormy16_sem_xorgrgr, "XORGRGR", XSTORMY16_INSN_XORGRGR, { 0, (1<<MACH_BASE) } },
76 { xstormy16_sem_xorimm8, "XORIMM8", XSTORMY16_INSN_XORIMM8, { 0, (1<<MACH_BASE) } },
77 { xstormy16_sem_xorgrimm16, "XORGRIMM16", XSTORMY16_INSN_XORGRIMM16, { 0, (1<<MACH_BASE) } },
78 { xstormy16_sem_notgr, "NOTGR", XSTORMY16_INSN_NOTGR, { 0, (1<<MACH_BASE) } },
79 { xstormy16_sem_addgrgr, "ADDGRGR", XSTORMY16_INSN_ADDGRGR, { 0, (1<<MACH_BASE) } },
80 { xstormy16_sem_addgrimm4, "ADDGRIMM4", XSTORMY16_INSN_ADDGRIMM4, { 0, (1<<MACH_BASE) } },
81 { xstormy16_sem_addimm8, "ADDIMM8", XSTORMY16_INSN_ADDIMM8, { 0, (1<<MACH_BASE) } },
82 { xstormy16_sem_addgrimm16, "ADDGRIMM16", XSTORMY16_INSN_ADDGRIMM16, { 0, (1<<MACH_BASE) } },
83 { xstormy16_sem_adcgrgr, "ADCGRGR", XSTORMY16_INSN_ADCGRGR, { 0, (1<<MACH_BASE) } },
84 { xstormy16_sem_adcgrimm4, "ADCGRIMM4", XSTORMY16_INSN_ADCGRIMM4, { 0, (1<<MACH_BASE) } },
85 { xstormy16_sem_adcimm8, "ADCIMM8", XSTORMY16_INSN_ADCIMM8, { 0, (1<<MACH_BASE) } },
86 { xstormy16_sem_adcgrimm16, "ADCGRIMM16", XSTORMY16_INSN_ADCGRIMM16, { 0, (1<<MACH_BASE) } },
87 { xstormy16_sem_subgrgr, "SUBGRGR", XSTORMY16_INSN_SUBGRGR, { 0, (1<<MACH_BASE) } },
88 { xstormy16_sem_subgrimm4, "SUBGRIMM4", XSTORMY16_INSN_SUBGRIMM4, { 0, (1<<MACH_BASE) } },
89 { xstormy16_sem_subimm8, "SUBIMM8", XSTORMY16_INSN_SUBIMM8, { 0, (1<<MACH_BASE) } },
90 { xstormy16_sem_subgrimm16, "SUBGRIMM16", XSTORMY16_INSN_SUBGRIMM16, { 0, (1<<MACH_BASE) } },
91 { xstormy16_sem_sbcgrgr, "SBCGRGR", XSTORMY16_INSN_SBCGRGR, { 0, (1<<MACH_BASE) } },
92 { xstormy16_sem_sbcgrimm4, "SBCGRIMM4", XSTORMY16_INSN_SBCGRIMM4, { 0, (1<<MACH_BASE) } },
93 { xstormy16_sem_sbcgrimm8, "SBCGRIMM8", XSTORMY16_INSN_SBCGRIMM8, { 0, (1<<MACH_BASE) } },
94 { xstormy16_sem_sbcgrimm16, "SBCGRIMM16", XSTORMY16_INSN_SBCGRIMM16, { 0, (1<<MACH_BASE) } },
95 { xstormy16_sem_incgrimm2, "INCGRIMM2", XSTORMY16_INSN_INCGRIMM2, { 0, (1<<MACH_BASE) } },
96 { xstormy16_sem_decgrimm2, "DECGRIMM2", XSTORMY16_INSN_DECGRIMM2, { 0, (1<<MACH_BASE) } },
97 { xstormy16_sem_rrcgrgr, "RRCGRGR", XSTORMY16_INSN_RRCGRGR, { 0, (1<<MACH_BASE) } },
98 { xstormy16_sem_rrcgrimm4, "RRCGRIMM4", XSTORMY16_INSN_RRCGRIMM4, { 0, (1<<MACH_BASE) } },
99 { xstormy16_sem_rlcgrgr, "RLCGRGR", XSTORMY16_INSN_RLCGRGR, { 0, (1<<MACH_BASE) } },
100 { xstormy16_sem_rlcgrimm4, "RLCGRIMM4", XSTORMY16_INSN_RLCGRIMM4, { 0, (1<<MACH_BASE) } },
101 { xstormy16_sem_shrgrgr, "SHRGRGR", XSTORMY16_INSN_SHRGRGR, { 0, (1<<MACH_BASE) } },
102 { xstormy16_sem_shrgrimm, "SHRGRIMM", XSTORMY16_INSN_SHRGRIMM, { 0, (1<<MACH_BASE) } },
103 { xstormy16_sem_shlgrgr, "SHLGRGR", XSTORMY16_INSN_SHLGRGR, { 0, (1<<MACH_BASE) } },
104 { xstormy16_sem_shlgrimm, "SHLGRIMM", XSTORMY16_INSN_SHLGRIMM, { 0, (1<<MACH_BASE) } },
105 { xstormy16_sem_asrgrgr, "ASRGRGR", XSTORMY16_INSN_ASRGRGR, { 0, (1<<MACH_BASE) } },
106 { xstormy16_sem_asrgrimm, "ASRGRIMM", XSTORMY16_INSN_ASRGRIMM, { 0, (1<<MACH_BASE) } },
107 { xstormy16_sem_set1grimm, "SET1GRIMM", XSTORMY16_INSN_SET1GRIMM, { 0, (1<<MACH_BASE) } },
108 { xstormy16_sem_set1grgr, "SET1GRGR", XSTORMY16_INSN_SET1GRGR, { 0, (1<<MACH_BASE) } },
109 { xstormy16_sem_set1lmemimm, "SET1LMEMIMM", XSTORMY16_INSN_SET1LMEMIMM, { 0, (1<<MACH_BASE) } },
110 { xstormy16_sem_set1hmemimm, "SET1HMEMIMM", XSTORMY16_INSN_SET1HMEMIMM, { 0, (1<<MACH_BASE) } },
111 { xstormy16_sem_clr1grimm, "CLR1GRIMM", XSTORMY16_INSN_CLR1GRIMM, { 0, (1<<MACH_BASE) } },
112 { xstormy16_sem_clr1grgr, "CLR1GRGR", XSTORMY16_INSN_CLR1GRGR, { 0, (1<<MACH_BASE) } },
113 { xstormy16_sem_clr1lmemimm, "CLR1LMEMIMM", XSTORMY16_INSN_CLR1LMEMIMM, { 0, (1<<MACH_BASE) } },
114 { xstormy16_sem_clr1hmemimm, "CLR1HMEMIMM", XSTORMY16_INSN_CLR1HMEMIMM, { 0, (1<<MACH_BASE) } },
115 { xstormy16_sem_cbwgr, "CBWGR", XSTORMY16_INSN_CBWGR, { 0, (1<<MACH_BASE) } },
116 { xstormy16_sem_revgr, "REVGR", XSTORMY16_INSN_REVGR, { 0, (1<<MACH_BASE) } },
117 { xstormy16_sem_bccgrgr, "BCCGRGR", XSTORMY16_INSN_BCCGRGR, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
118 { xstormy16_sem_bccgrimm8, "BCCGRIMM8", XSTORMY16_INSN_BCCGRIMM8, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
119 { xstormy16_sem_bccimm16, "BCCIMM16", XSTORMY16_INSN_BCCIMM16, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
120 { xstormy16_sem_bngrimm4, "BNGRIMM4", XSTORMY16_INSN_BNGRIMM4, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
121 { xstormy16_sem_bngrgr, "BNGRGR", XSTORMY16_INSN_BNGRGR, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
122 { xstormy16_sem_bnlmemimm, "BNLMEMIMM", XSTORMY16_INSN_BNLMEMIMM, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
123 { xstormy16_sem_bnhmemimm, "BNHMEMIMM", XSTORMY16_INSN_BNHMEMIMM, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
124 { xstormy16_sem_bpgrimm4, "BPGRIMM4", XSTORMY16_INSN_BPGRIMM4, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
125 { xstormy16_sem_bpgrgr, "BPGRGR", XSTORMY16_INSN_BPGRGR, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
126 { xstormy16_sem_bplmemimm, "BPLMEMIMM", XSTORMY16_INSN_BPLMEMIMM, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
127 { xstormy16_sem_bphmemimm, "BPHMEMIMM", XSTORMY16_INSN_BPHMEMIMM, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
128 { xstormy16_sem_bcc, "BCC", XSTORMY16_INSN_BCC, { 0|(1<<CGEN_INSN_COND_CTI), (1<<MACH_BASE) } },
129 { xstormy16_sem_bgr, "BGR", XSTORMY16_INSN_BGR, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
130 { xstormy16_sem_br, "BR", XSTORMY16_INSN_BR, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
131 { xstormy16_sem_jmp, "JMP", XSTORMY16_INSN_JMP, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
132 { xstormy16_sem_jmpf, "JMPF", XSTORMY16_INSN_JMPF, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
133 { xstormy16_sem_callrgr, "CALLRGR", XSTORMY16_INSN_CALLRGR, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
134 { xstormy16_sem_callrimm, "CALLRIMM", XSTORMY16_INSN_CALLRIMM, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
135 { xstormy16_sem_callgr, "CALLGR", XSTORMY16_INSN_CALLGR, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
136 { xstormy16_sem_callfimm, "CALLFIMM", XSTORMY16_INSN_CALLFIMM, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
137 { xstormy16_sem_icallrgr, "ICALLRGR", XSTORMY16_INSN_ICALLRGR, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
138 { xstormy16_sem_icallgr, "ICALLGR", XSTORMY16_INSN_ICALLGR, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
139 { xstormy16_sem_icallfimm, "ICALLFIMM", XSTORMY16_INSN_ICALLFIMM, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
140 { xstormy16_sem_iret, "IRET", XSTORMY16_INSN_IRET, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
141 { xstormy16_sem_ret, "RET", XSTORMY16_INSN_RET, { 0|(1<<CGEN_INSN_UNCOND_CTI), (1<<MACH_BASE) } },
142 { xstormy16_sem_mul, "MUL", XSTORMY16_INSN_MUL, { 0, (1<<MACH_BASE) } },
143 { xstormy16_sem_div, "DIV", XSTORMY16_INSN_DIV, { 0, (1<<MACH_BASE) } },
144 { xstormy16_sem_sdiv, "SDIV", XSTORMY16_INSN_SDIV, { 0, (1<<MACH_BASE) } },
145 { xstormy16_sem_sdivlh, "SDIVLH", XSTORMY16_INSN_SDIVLH, { 0, (1<<MACH_BASE) } },
146 { xstormy16_sem_divlh, "DIVLH", XSTORMY16_INSN_DIVLH, { 0, (1<<MACH_BASE) } },
147 { xstormy16_sem_reset, "RESET", XSTORMY16_INSN_RESET, { 0, (1<<MACH_BASE) } },
148 { xstormy16_sem_nop, "NOP", XSTORMY16_INSN_NOP, { 0, (1<<MACH_BASE) } },
149 { xstormy16_sem_halt, "HALT", XSTORMY16_INSN_HALT, { 0, (1<<MACH_BASE) } },
150 { xstormy16_sem_hold, "HOLD", XSTORMY16_INSN_HOLD, { 0, (1<<MACH_BASE) } },
151 { xstormy16_sem_holdx, "HOLDX", XSTORMY16_INSN_HOLDX, { 0, (1<<MACH_BASE) } },
152 { xstormy16_sem_brk, "BRK", XSTORMY16_INSN_BRK, { 0, (1<<MACH_BASE) } },
153 { xstormy16_sem_syscall, "SYSCALL", XSTORMY16_INSN_SYSCALL, { 0, (1<<MACH_BASE) } },
157 // Given a canonical virtual insn id, return the target specific one.
160 xstormy16_idesc::lookup_virtual (virtual_insn_type vit)
164 case VIRTUAL_INSN_INVALID: return XSTORMY16_INSN_X_INVALID;
165 case VIRTUAL_INSN_COND: return XSTORMY16_INSN_X_INVALID;
171 // Declare extractor functions
174 xstormy16_extract_sfmt_empty (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
176 xstormy16_extract_sfmt_movlmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
178 xstormy16_extract_sfmt_movhmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
180 xstormy16_extract_sfmt_movlgrmem (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
182 xstormy16_extract_sfmt_movhgrmem (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
184 xstormy16_extract_sfmt_movlmemgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
186 xstormy16_extract_sfmt_movhmemgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
188 xstormy16_extract_sfmt_movgrgri (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
190 xstormy16_extract_sfmt_movgrgripostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
192 xstormy16_extract_sfmt_movgrgripredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
194 xstormy16_extract_sfmt_movgrigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
196 xstormy16_extract_sfmt_movgripostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
198 xstormy16_extract_sfmt_movgripredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
200 xstormy16_extract_sfmt_movgrgrii (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
202 xstormy16_extract_sfmt_movgrgriipostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
204 xstormy16_extract_sfmt_movgrgriipredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
206 xstormy16_extract_sfmt_movgriigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
208 xstormy16_extract_sfmt_movgriipostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
210 xstormy16_extract_sfmt_movgriipredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
212 xstormy16_extract_sfmt_movgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
214 xstormy16_extract_sfmt_movwimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
216 xstormy16_extract_sfmt_movwgrimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
218 xstormy16_extract_sfmt_movwgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
220 xstormy16_extract_sfmt_movlowgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
222 xstormy16_extract_sfmt_movfgrgri (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
224 xstormy16_extract_sfmt_movfgrgripostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
226 xstormy16_extract_sfmt_movfgrgripredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
228 xstormy16_extract_sfmt_movfgrigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
230 xstormy16_extract_sfmt_movfgripostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
232 xstormy16_extract_sfmt_movfgripredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
234 xstormy16_extract_sfmt_movfgrgrii (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
236 xstormy16_extract_sfmt_movfgrgriipostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
238 xstormy16_extract_sfmt_movfgrgriipredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
240 xstormy16_extract_sfmt_movfgriigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
242 xstormy16_extract_sfmt_movfgriipostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
244 xstormy16_extract_sfmt_movfgriipredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
246 xstormy16_extract_sfmt_maskgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
248 xstormy16_extract_sfmt_maskgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
250 xstormy16_extract_sfmt_pushgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
252 xstormy16_extract_sfmt_popgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
254 xstormy16_extract_sfmt_swpn (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
256 xstormy16_extract_sfmt_swpw (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
258 xstormy16_extract_sfmt_andgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
260 xstormy16_extract_sfmt_andimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
262 xstormy16_extract_sfmt_andgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
264 xstormy16_extract_sfmt_addgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
266 xstormy16_extract_sfmt_addgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
268 xstormy16_extract_sfmt_addimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
270 xstormy16_extract_sfmt_addgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
272 xstormy16_extract_sfmt_adcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
274 xstormy16_extract_sfmt_adcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
276 xstormy16_extract_sfmt_adcimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
278 xstormy16_extract_sfmt_adcgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
280 xstormy16_extract_sfmt_incgrimm2 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
282 xstormy16_extract_sfmt_rrcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
284 xstormy16_extract_sfmt_rrcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
286 xstormy16_extract_sfmt_shrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
288 xstormy16_extract_sfmt_shrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
290 xstormy16_extract_sfmt_asrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
292 xstormy16_extract_sfmt_asrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
294 xstormy16_extract_sfmt_set1grimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
296 xstormy16_extract_sfmt_set1lmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
298 xstormy16_extract_sfmt_set1hmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
300 xstormy16_extract_sfmt_bccgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
302 xstormy16_extract_sfmt_bccgrimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
304 xstormy16_extract_sfmt_bccimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
306 xstormy16_extract_sfmt_bngrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
308 xstormy16_extract_sfmt_bngrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
310 xstormy16_extract_sfmt_bnlmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
312 xstormy16_extract_sfmt_bnhmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
314 xstormy16_extract_sfmt_bcc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
316 xstormy16_extract_sfmt_bgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
318 xstormy16_extract_sfmt_br (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
320 xstormy16_extract_sfmt_jmp (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
322 xstormy16_extract_sfmt_jmpf (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
324 xstormy16_extract_sfmt_callrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
326 xstormy16_extract_sfmt_callrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
328 xstormy16_extract_sfmt_callgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
330 xstormy16_extract_sfmt_callfimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
332 xstormy16_extract_sfmt_icallrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
334 xstormy16_extract_sfmt_icallgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
336 xstormy16_extract_sfmt_icallfimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
338 xstormy16_extract_sfmt_iret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
340 xstormy16_extract_sfmt_ret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
342 xstormy16_extract_sfmt_mul (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
344 xstormy16_extract_sfmt_sdiv (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
346 xstormy16_extract_sfmt_sdivlh (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
348 xstormy16_extract_sfmt_reset (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
350 // Fetch & decode instruction
352 xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn)
354 /* Result of decoder. */
355 XSTORMY16_INSN_TYPE itype;
358 xstormy16_insn_word insn = base_insn;
361 unsigned int val = (((insn >> 21) & (1023 << 1)) | ((insn >> 19) & (1 << 0)));
366 unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0)));
369 case 0 : itype = XSTORMY16_INSN_NOP; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
370 case 1 : itype = XSTORMY16_INSN_SYSCALL; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
371 case 2 : itype = XSTORMY16_INSN_IRET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_iret (this, current_cpu, pc, base_insn, entire_insn); goto done;
372 case 3 : itype = XSTORMY16_INSN_RET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done;
373 case 5 : itype = XSTORMY16_INSN_BRK; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
374 case 8 : /* fall through */
375 case 9 : /* fall through */
376 case 10 : /* fall through */
377 case 11 : /* fall through */
378 case 12 : /* fall through */
379 case 13 : /* fall through */
380 case 14 : /* fall through */
381 case 15 : itype = XSTORMY16_INSN_CALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
382 case 16 : /* fall through */
383 case 17 : /* fall through */
384 case 18 : /* fall through */
385 case 19 : /* fall through */
386 case 20 : /* fall through */
387 case 21 : /* fall through */
388 case 22 : /* fall through */
389 case 23 : itype = XSTORMY16_INSN_BGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
390 case 24 : /* fall through */
391 case 25 : /* fall through */
392 case 26 : /* fall through */
393 case 27 : /* fall through */
394 case 28 : /* fall through */
395 case 29 : /* fall through */
396 case 30 : /* fall through */
397 case 31 : itype = XSTORMY16_INSN_ICALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
398 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
403 unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0)));
406 case 0 : itype = XSTORMY16_INSN_HALT; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
407 case 2 : itype = XSTORMY16_INSN_HOLD; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
408 case 3 : itype = XSTORMY16_INSN_HOLDX; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
409 case 7 : itype = XSTORMY16_INSN_RESET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
410 case 8 : /* fall through */
411 case 9 : /* fall through */
412 case 10 : /* fall through */
413 case 11 : /* fall through */
414 case 12 : /* fall through */
415 case 13 : /* fall through */
416 case 14 : /* fall through */
417 case 15 : itype = XSTORMY16_INSN_CALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
418 case 16 : /* fall through */
419 case 17 : /* fall through */
420 case 18 : /* fall through */
421 case 19 : /* fall through */
422 case 20 : /* fall through */
423 case 21 : /* fall through */
424 case 22 : /* fall through */
425 case 23 : itype = XSTORMY16_INSN_BGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
426 case 24 : /* fall through */
427 case 25 : /* fall through */
428 case 26 : /* fall through */
429 case 27 : /* fall through */
430 case 28 : /* fall through */
431 case 29 : /* fall through */
432 case 30 : /* fall through */
433 case 31 : itype = XSTORMY16_INSN_ICALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
434 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
437 case 2 : /* fall through */
440 unsigned int val = (((insn >> 21) & (1 << 0)));
443 case 0 : itype = XSTORMY16_INSN_JMP; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done;
444 case 1 : itype = XSTORMY16_INSN_ICALLGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
445 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
448 case 4 : /* fall through */
451 unsigned int val = (((insn >> 20) & (3 << 0)));
454 case 0 : itype = XSTORMY16_INSN_PUSHGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_pushgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
455 case 1 : itype = XSTORMY16_INSN_POPGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_popgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
456 case 2 : /* fall through */
457 case 3 : itype = XSTORMY16_INSN_CALLGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
458 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
463 unsigned int val = (((insn >> 20) & (3 << 0)));
466 case 0 : itype = XSTORMY16_INSN_DIV; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done;
467 case 1 : itype = XSTORMY16_INSN_MUL; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done;
468 case 2 : itype = XSTORMY16_INSN_DIVLH; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done;
469 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
474 unsigned int val = (((insn >> 21) & (1 << 0)));
477 case 0 : itype = XSTORMY16_INSN_SDIV; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdiv (this, current_cpu, pc, base_insn, entire_insn); goto done;
478 case 1 : itype = XSTORMY16_INSN_SDIVLH; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done;
479 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
482 case 8 : /* fall through */
483 case 9 : /* fall through */
484 case 10 : /* fall through */
485 case 11 : /* fall through */
486 case 12 : /* fall through */
487 case 13 : /* fall through */
488 case 14 : /* fall through */
489 case 15 : itype = XSTORMY16_INSN_CALLFIMM; xstormy16_extract_sfmt_callfimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
490 case 16 : /* fall through */
491 case 17 : /* fall through */
492 case 18 : /* fall through */
493 case 19 : /* fall through */
494 case 20 : /* fall through */
495 case 21 : /* fall through */
496 case 22 : /* fall through */
497 case 23 : itype = XSTORMY16_INSN_JMPF; xstormy16_extract_sfmt_jmpf (this, current_cpu, pc, base_insn, entire_insn); goto done;
498 case 24 : /* fall through */
499 case 25 : /* fall through */
500 case 26 : /* fall through */
501 case 27 : /* fall through */
502 case 28 : /* fall through */
503 case 29 : /* fall through */
504 case 30 : /* fall through */
505 case 31 : itype = XSTORMY16_INSN_ICALLFIMM; xstormy16_extract_sfmt_icallfimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
506 case 32 : /* fall through */
507 case 33 : /* fall through */
508 case 34 : /* fall through */
509 case 35 : /* fall through */
510 case 36 : /* fall through */
511 case 37 : /* fall through */
512 case 38 : /* fall through */
513 case 39 : itype = XSTORMY16_INSN_BNGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
514 case 40 : /* fall through */
515 case 41 : /* fall through */
516 case 42 : /* fall through */
517 case 43 : /* fall through */
518 case 44 : /* fall through */
519 case 45 : /* fall through */
520 case 46 : /* fall through */
521 case 47 : itype = XSTORMY16_INSN_BPGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
522 case 48 : /* fall through */
523 case 49 : /* fall through */
524 case 50 : /* fall through */
525 case 51 : /* fall through */
526 case 52 : /* fall through */
527 case 53 : /* fall through */
528 case 54 : /* fall through */
529 case 55 : itype = XSTORMY16_INSN_BNGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
530 case 56 : /* fall through */
531 case 57 : /* fall through */
532 case 58 : /* fall through */
533 case 59 : /* fall through */
534 case 60 : /* fall through */
535 case 61 : /* fall through */
536 case 62 : /* fall through */
537 case 63 : itype = XSTORMY16_INSN_BPGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
538 case 64 : /* fall through */
539 case 65 : /* fall through */
540 case 66 : /* fall through */
541 case 67 : /* fall through */
542 case 68 : /* fall through */
543 case 69 : /* fall through */
544 case 70 : /* fall through */
545 case 71 : itype = XSTORMY16_INSN_CLR1GRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
546 case 72 : /* fall through */
547 case 73 : /* fall through */
548 case 74 : /* fall through */
549 case 75 : /* fall through */
550 case 76 : /* fall through */
551 case 77 : /* fall through */
552 case 78 : /* fall through */
553 case 79 : itype = XSTORMY16_INSN_SET1GRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
554 case 80 : /* fall through */
555 case 81 : /* fall through */
556 case 82 : /* fall through */
557 case 83 : /* fall through */
558 case 84 : /* fall through */
559 case 85 : /* fall through */
560 case 86 : /* fall through */
561 case 87 : itype = XSTORMY16_INSN_CLR1GRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
562 case 88 : /* fall through */
563 case 89 : /* fall through */
564 case 90 : /* fall through */
565 case 91 : /* fall through */
566 case 92 : /* fall through */
567 case 93 : /* fall through */
568 case 94 : /* fall through */
569 case 95 : itype = XSTORMY16_INSN_SET1GRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
570 case 104 : /* fall through */
571 case 105 : /* fall through */
572 case 106 : /* fall through */
573 case 107 : /* fall through */
574 case 108 : /* fall through */
575 case 109 : /* fall through */
576 case 110 : /* fall through */
577 case 111 : itype = XSTORMY16_INSN_BCCGRGR; xstormy16_extract_sfmt_bccgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
578 case 128 : /* fall through */
579 case 129 : /* fall through */
580 case 130 : /* fall through */
581 case 131 : /* fall through */
582 case 132 : /* fall through */
583 case 133 : /* fall through */
584 case 134 : /* fall through */
585 case 135 : /* fall through */
586 case 136 : /* fall through */
587 case 137 : /* fall through */
588 case 138 : /* fall through */
589 case 139 : /* fall through */
590 case 140 : /* fall through */
591 case 141 : /* fall through */
592 case 142 : /* fall through */
593 case 143 : /* fall through */
594 case 144 : /* fall through */
595 case 145 : /* fall through */
596 case 146 : /* fall through */
597 case 147 : /* fall through */
598 case 148 : /* fall through */
599 case 149 : /* fall through */
600 case 150 : /* fall through */
601 case 151 : /* fall through */
602 case 152 : /* fall through */
603 case 153 : /* fall through */
604 case 154 : /* fall through */
605 case 155 : /* fall through */
606 case 156 : /* fall through */
607 case 157 : /* fall through */
608 case 158 : /* fall through */
609 case 159 : /* fall through */
610 case 160 : /* fall through */
611 case 161 : /* fall through */
612 case 162 : /* fall through */
613 case 163 : /* fall through */
614 case 164 : /* fall through */
615 case 165 : /* fall through */
616 case 166 : /* fall through */
617 case 167 : /* fall through */
618 case 168 : /* fall through */
619 case 169 : /* fall through */
620 case 170 : /* fall through */
621 case 171 : /* fall through */
622 case 172 : /* fall through */
623 case 173 : /* fall through */
624 case 174 : /* fall through */
625 case 175 : /* fall through */
626 case 176 : /* fall through */
627 case 177 : /* fall through */
628 case 178 : /* fall through */
629 case 179 : /* fall through */
630 case 180 : /* fall through */
631 case 181 : /* fall through */
632 case 182 : /* fall through */
633 case 183 : /* fall through */
634 case 184 : /* fall through */
635 case 185 : /* fall through */
636 case 186 : /* fall through */
637 case 187 : /* fall through */
638 case 188 : /* fall through */
639 case 189 : /* fall through */
640 case 190 : /* fall through */
641 case 191 : /* fall through */
642 case 192 : /* fall through */
643 case 193 : /* fall through */
644 case 194 : /* fall through */
645 case 195 : /* fall through */
646 case 196 : /* fall through */
647 case 197 : /* fall through */
648 case 198 : /* fall through */
649 case 199 : /* fall through */
650 case 200 : /* fall through */
651 case 201 : /* fall through */
652 case 202 : /* fall through */
653 case 203 : /* fall through */
654 case 204 : /* fall through */
655 case 205 : /* fall through */
656 case 206 : /* fall through */
657 case 207 : /* fall through */
658 case 208 : /* fall through */
659 case 209 : /* fall through */
660 case 210 : /* fall through */
661 case 211 : /* fall through */
662 case 212 : /* fall through */
663 case 213 : /* fall through */
664 case 214 : /* fall through */
665 case 215 : /* fall through */
666 case 216 : /* fall through */
667 case 217 : /* fall through */
668 case 218 : /* fall through */
669 case 219 : /* fall through */
670 case 220 : /* fall through */
671 case 221 : /* fall through */
672 case 222 : /* fall through */
673 case 223 : /* fall through */
674 case 224 : /* fall through */
675 case 225 : /* fall through */
676 case 226 : /* fall through */
677 case 227 : /* fall through */
678 case 228 : /* fall through */
679 case 229 : /* fall through */
680 case 230 : /* fall through */
681 case 231 : /* fall through */
682 case 232 : /* fall through */
683 case 233 : /* fall through */
684 case 234 : /* fall through */
685 case 235 : /* fall through */
686 case 236 : /* fall through */
687 case 237 : /* fall through */
688 case 238 : /* fall through */
689 case 239 : /* fall through */
690 case 240 : /* fall through */
691 case 241 : /* fall through */
692 case 242 : /* fall through */
693 case 243 : /* fall through */
694 case 244 : /* fall through */
695 case 245 : /* fall through */
696 case 246 : /* fall through */
697 case 247 : /* fall through */
698 case 248 : /* fall through */
699 case 249 : /* fall through */
700 case 250 : /* fall through */
701 case 251 : /* fall through */
702 case 252 : /* fall through */
703 case 253 : /* fall through */
704 case 254 : /* fall through */
707 unsigned int val = (((insn >> 16) & (1 << 0)));
710 case 0 : itype = XSTORMY16_INSN_BR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_br (this, current_cpu, pc, base_insn, entire_insn); goto done;
711 case 1 : itype = XSTORMY16_INSN_CALLRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
712 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
715 case 256 : /* fall through */
716 case 257 : /* fall through */
717 case 258 : /* fall through */
718 case 259 : /* fall through */
719 case 260 : /* fall through */
720 case 261 : /* fall through */
721 case 262 : /* fall through */
722 case 263 : /* fall through */
723 case 272 : /* fall through */
724 case 273 : /* fall through */
725 case 274 : /* fall through */
726 case 275 : /* fall through */
727 case 276 : /* fall through */
728 case 277 : /* fall through */
729 case 278 : /* fall through */
730 case 279 : /* fall through */
731 case 288 : /* fall through */
732 case 289 : /* fall through */
733 case 290 : /* fall through */
734 case 291 : /* fall through */
735 case 292 : /* fall through */
736 case 293 : /* fall through */
737 case 294 : /* fall through */
738 case 295 : /* fall through */
739 case 304 : /* fall through */
740 case 305 : /* fall through */
741 case 306 : /* fall through */
742 case 307 : /* fall through */
743 case 308 : /* fall through */
744 case 309 : /* fall through */
745 case 310 : /* fall through */
746 case 311 : /* fall through */
747 case 320 : /* fall through */
748 case 321 : /* fall through */
749 case 322 : /* fall through */
750 case 323 : /* fall through */
751 case 324 : /* fall through */
752 case 325 : /* fall through */
753 case 326 : /* fall through */
754 case 327 : /* fall through */
755 case 336 : /* fall through */
756 case 337 : /* fall through */
757 case 338 : /* fall through */
758 case 339 : /* fall through */
759 case 340 : /* fall through */
760 case 341 : /* fall through */
761 case 342 : /* fall through */
762 case 343 : /* fall through */
763 case 352 : /* fall through */
764 case 353 : /* fall through */
765 case 354 : /* fall through */
766 case 355 : /* fall through */
767 case 356 : /* fall through */
768 case 357 : /* fall through */
769 case 358 : /* fall through */
770 case 359 : /* fall through */
771 case 368 : /* fall through */
772 case 369 : /* fall through */
773 case 370 : /* fall through */
774 case 371 : /* fall through */
775 case 372 : /* fall through */
776 case 373 : /* fall through */
777 case 374 : /* fall through */
778 case 375 : itype = XSTORMY16_INSN_BCCGRIMM8; xstormy16_extract_sfmt_bccgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
779 case 264 : /* fall through */
780 case 265 : /* fall through */
781 case 266 : /* fall through */
782 case 267 : /* fall through */
783 case 268 : /* fall through */
784 case 269 : /* fall through */
785 case 270 : /* fall through */
786 case 271 : /* fall through */
787 case 280 : /* fall through */
788 case 281 : /* fall through */
789 case 282 : /* fall through */
790 case 283 : /* fall through */
791 case 284 : /* fall through */
792 case 285 : /* fall through */
793 case 286 : /* fall through */
794 case 287 : /* fall through */
795 case 296 : /* fall through */
796 case 297 : /* fall through */
797 case 298 : /* fall through */
798 case 299 : /* fall through */
799 case 300 : /* fall through */
800 case 301 : /* fall through */
801 case 302 : /* fall through */
802 case 303 : /* fall through */
803 case 312 : /* fall through */
804 case 313 : /* fall through */
805 case 314 : /* fall through */
806 case 315 : /* fall through */
807 case 316 : /* fall through */
808 case 317 : /* fall through */
809 case 318 : /* fall through */
810 case 319 : /* fall through */
811 case 328 : /* fall through */
812 case 329 : /* fall through */
813 case 330 : /* fall through */
814 case 331 : /* fall through */
815 case 332 : /* fall through */
816 case 333 : /* fall through */
817 case 334 : /* fall through */
818 case 335 : /* fall through */
819 case 344 : /* fall through */
820 case 345 : /* fall through */
821 case 346 : /* fall through */
822 case 347 : /* fall through */
823 case 348 : /* fall through */
824 case 349 : /* fall through */
825 case 350 : /* fall through */
826 case 351 : /* fall through */
827 case 360 : /* fall through */
828 case 361 : /* fall through */
829 case 362 : /* fall through */
830 case 363 : /* fall through */
831 case 364 : /* fall through */
832 case 365 : /* fall through */
833 case 366 : /* fall through */
834 case 367 : /* fall through */
835 case 376 : /* fall through */
836 case 377 : /* fall through */
837 case 378 : /* fall through */
838 case 379 : /* fall through */
839 case 380 : /* fall through */
840 case 381 : /* fall through */
841 case 382 : /* fall through */
842 case 383 : itype = XSTORMY16_INSN_MOVWGRIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movwgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
843 case 384 : /* fall through */
844 case 385 : itype = XSTORMY16_INSN_INCGRIMM2; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done;
845 case 386 : /* fall through */
846 case 387 : itype = XSTORMY16_INSN_DECGRIMM2; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done;
847 case 388 : /* fall through */
850 unsigned int val = (((insn >> 20) & (3 << 0)));
853 case 0 : itype = XSTORMY16_INSN_SWPB; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
854 case 1 : itype = XSTORMY16_INSN_SWPN; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
855 case 2 : itype = XSTORMY16_INSN_CBWGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
856 case 3 : itype = XSTORMY16_INSN_NOTGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
857 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
860 case 390 : /* fall through */
863 unsigned int val = (((insn >> 20) & (3 << 0)));
866 case 0 : itype = XSTORMY16_INSN_MOVLOWGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
867 case 1 : itype = XSTORMY16_INSN_MOVHIGHGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
868 case 2 : itype = XSTORMY16_INSN_MASKGRIMM16; xstormy16_extract_sfmt_maskgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
869 case 3 : itype = XSTORMY16_INSN_REVGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
870 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
873 case 392 : /* fall through */
876 unsigned int val = (((insn >> 20) & (3 << 0)));
879 case 0 : itype = XSTORMY16_INSN_ANDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
880 case 1 : itype = XSTORMY16_INSN_ORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
881 case 2 : itype = XSTORMY16_INSN_XORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
882 case 3 : itype = XSTORMY16_INSN_MOVWGRIMM16; xstormy16_extract_sfmt_movwgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
883 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
886 case 394 : /* fall through */
889 unsigned int val = (((insn >> 20) & (3 << 0)));
892 case 0 : itype = XSTORMY16_INSN_ADDGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
893 case 1 : itype = XSTORMY16_INSN_ADCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
894 case 2 : itype = XSTORMY16_INSN_SUBGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
895 case 3 : itype = XSTORMY16_INSN_SBCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
896 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
899 case 400 : /* fall through */
900 case 401 : /* fall through */
901 case 402 : /* fall through */
902 case 403 : /* fall through */
903 case 404 : /* fall through */
904 case 405 : /* fall through */
905 case 406 : /* fall through */
906 case 407 : itype = XSTORMY16_INSN_SWPW; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpw (this, current_cpu, pc, base_insn, entire_insn); goto done;
907 case 408 : /* fall through */
908 case 409 : /* fall through */
909 case 410 : /* fall through */
910 case 411 : /* fall through */
911 case 412 : /* fall through */
912 case 413 : /* fall through */
913 case 414 : /* fall through */
914 case 415 : itype = XSTORMY16_INSN_MASKGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_maskgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
915 case 432 : /* fall through */
916 case 433 : /* fall through */
917 case 434 : /* fall through */
918 case 435 : /* fall through */
919 case 436 : /* fall through */
920 case 437 : /* fall through */
921 case 438 : /* fall through */
922 case 439 : itype = XSTORMY16_INSN_ASRGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_asrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
923 case 440 : /* fall through */
924 case 441 : /* fall through */
925 case 442 : /* fall through */
926 case 443 : /* fall through */
927 case 444 : /* fall through */
928 case 445 : /* fall through */
929 case 446 : /* fall through */
930 case 447 : itype = XSTORMY16_INSN_ASRGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_asrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
931 case 448 : /* fall through */
932 case 449 : /* fall through */
933 case 450 : /* fall through */
934 case 451 : /* fall through */
935 case 452 : /* fall through */
936 case 453 : /* fall through */
937 case 454 : /* fall through */
938 case 455 : itype = XSTORMY16_INSN_RRCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
939 case 456 : /* fall through */
940 case 457 : /* fall through */
941 case 458 : /* fall through */
942 case 459 : /* fall through */
943 case 460 : /* fall through */
944 case 461 : /* fall through */
945 case 462 : /* fall through */
946 case 463 : itype = XSTORMY16_INSN_RRCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
947 case 464 : /* fall through */
948 case 465 : /* fall through */
949 case 466 : /* fall through */
950 case 467 : /* fall through */
951 case 468 : /* fall through */
952 case 469 : /* fall through */
953 case 470 : /* fall through */
954 case 471 : itype = XSTORMY16_INSN_RLCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
955 case 472 : /* fall through */
956 case 473 : /* fall through */
957 case 474 : /* fall through */
958 case 475 : /* fall through */
959 case 476 : /* fall through */
960 case 477 : /* fall through */
961 case 478 : /* fall through */
962 case 479 : itype = XSTORMY16_INSN_RLCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
963 case 480 : /* fall through */
964 case 481 : /* fall through */
965 case 482 : /* fall through */
966 case 483 : /* fall through */
967 case 484 : /* fall through */
968 case 485 : /* fall through */
969 case 486 : /* fall through */
970 case 487 : itype = XSTORMY16_INSN_SHRGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
971 case 488 : /* fall through */
972 case 489 : /* fall through */
973 case 490 : /* fall through */
974 case 491 : /* fall through */
975 case 492 : /* fall through */
976 case 493 : /* fall through */
977 case 494 : /* fall through */
978 case 495 : itype = XSTORMY16_INSN_SHRGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
979 case 496 : /* fall through */
980 case 497 : /* fall through */
981 case 498 : /* fall through */
982 case 499 : /* fall through */
983 case 500 : /* fall through */
984 case 501 : /* fall through */
985 case 502 : /* fall through */
986 case 503 : itype = XSTORMY16_INSN_SHLGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
987 case 504 : /* fall through */
988 case 505 : /* fall through */
989 case 506 : /* fall through */
990 case 507 : /* fall through */
991 case 508 : /* fall through */
992 case 509 : /* fall through */
993 case 510 : /* fall through */
994 case 511 : itype = XSTORMY16_INSN_SHLGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
995 case 512 : /* fall through */
996 case 513 : /* fall through */
997 case 514 : /* fall through */
998 case 515 : /* fall through */
999 case 516 : /* fall through */
1000 case 517 : /* fall through */
1001 case 518 : /* fall through */
1002 case 519 : itype = XSTORMY16_INSN_ANDGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1003 case 520 : /* fall through */
1004 case 521 : /* fall through */
1005 case 522 : /* fall through */
1006 case 523 : /* fall through */
1007 case 524 : /* fall through */
1008 case 525 : /* fall through */
1009 case 526 : /* fall through */
1010 case 527 : itype = XSTORMY16_INSN_ANDIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1011 case 528 : /* fall through */
1012 case 529 : /* fall through */
1013 case 530 : /* fall through */
1014 case 531 : /* fall through */
1015 case 532 : /* fall through */
1016 case 533 : /* fall through */
1017 case 534 : /* fall through */
1018 case 535 : itype = XSTORMY16_INSN_ORGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1019 case 536 : /* fall through */
1020 case 537 : /* fall through */
1021 case 538 : /* fall through */
1022 case 539 : /* fall through */
1023 case 540 : /* fall through */
1024 case 541 : /* fall through */
1025 case 542 : /* fall through */
1026 case 543 : itype = XSTORMY16_INSN_ORIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1027 case 544 : /* fall through */
1028 case 545 : /* fall through */
1029 case 546 : /* fall through */
1030 case 547 : /* fall through */
1031 case 548 : /* fall through */
1032 case 549 : /* fall through */
1033 case 550 : /* fall through */
1034 case 551 : itype = XSTORMY16_INSN_XORGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1035 case 552 : /* fall through */
1036 case 553 : /* fall through */
1037 case 554 : /* fall through */
1038 case 555 : /* fall through */
1039 case 556 : /* fall through */
1040 case 557 : /* fall through */
1041 case 558 : /* fall through */
1042 case 559 : itype = XSTORMY16_INSN_XORIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1043 case 560 : /* fall through */
1044 case 561 : /* fall through */
1045 case 562 : /* fall through */
1046 case 563 : /* fall through */
1047 case 564 : /* fall through */
1048 case 565 : /* fall through */
1049 case 566 : /* fall through */
1050 case 567 : itype = XSTORMY16_INSN_MOVGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1051 case 568 : /* fall through */
1052 case 569 : /* fall through */
1053 case 570 : /* fall through */
1054 case 571 : /* fall through */
1055 case 572 : /* fall through */
1056 case 573 : /* fall through */
1057 case 574 : /* fall through */
1058 case 575 : itype = XSTORMY16_INSN_MOVWIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movwimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1059 case 584 : /* fall through */
1060 case 585 : /* fall through */
1061 case 586 : /* fall through */
1062 case 587 : /* fall through */
1063 case 588 : /* fall through */
1064 case 589 : /* fall through */
1065 case 590 : /* fall through */
1066 case 591 : itype = XSTORMY16_INSN_ADDGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1067 case 600 : /* fall through */
1068 case 601 : /* fall through */
1069 case 602 : /* fall through */
1070 case 603 : /* fall through */
1071 case 604 : /* fall through */
1072 case 605 : /* fall through */
1073 case 606 : /* fall through */
1074 case 607 : itype = XSTORMY16_INSN_ADCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1075 case 616 : /* fall through */
1076 case 617 : /* fall through */
1077 case 618 : /* fall through */
1078 case 619 : /* fall through */
1079 case 620 : /* fall through */
1080 case 621 : /* fall through */
1081 case 622 : /* fall through */
1082 case 623 : itype = XSTORMY16_INSN_SUBGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1083 case 632 : /* fall through */
1084 case 633 : /* fall through */
1085 case 634 : /* fall through */
1086 case 635 : /* fall through */
1087 case 636 : /* fall through */
1088 case 637 : /* fall through */
1089 case 638 : /* fall through */
1090 case 639 : itype = XSTORMY16_INSN_SBCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1091 case 648 : /* fall through */
1092 case 649 : /* fall through */
1093 case 650 : /* fall through */
1094 case 651 : /* fall through */
1095 case 652 : /* fall through */
1096 case 653 : /* fall through */
1097 case 654 : /* fall through */
1098 case 655 : itype = XSTORMY16_INSN_ADDGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1099 case 664 : /* fall through */
1100 case 665 : /* fall through */
1101 case 666 : /* fall through */
1102 case 667 : /* fall through */
1103 case 668 : /* fall through */
1104 case 669 : /* fall through */
1105 case 670 : /* fall through */
1106 case 671 : itype = XSTORMY16_INSN_ADCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1107 case 680 : /* fall through */
1108 case 681 : /* fall through */
1109 case 682 : /* fall through */
1110 case 683 : /* fall through */
1111 case 684 : /* fall through */
1112 case 685 : /* fall through */
1113 case 686 : /* fall through */
1114 case 687 : itype = XSTORMY16_INSN_SUBGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1115 case 696 : /* fall through */
1116 case 697 : /* fall through */
1117 case 698 : /* fall through */
1118 case 699 : /* fall through */
1119 case 700 : /* fall through */
1120 case 701 : /* fall through */
1121 case 702 : /* fall through */
1122 case 703 : itype = XSTORMY16_INSN_SBCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1123 case 712 : /* fall through */
1124 case 713 : /* fall through */
1125 case 714 : /* fall through */
1126 case 715 : /* fall through */
1127 case 716 : /* fall through */
1128 case 717 : /* fall through */
1129 case 718 : /* fall through */
1130 case 719 : itype = XSTORMY16_INSN_ADDIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1131 case 728 : /* fall through */
1132 case 729 : /* fall through */
1133 case 730 : /* fall through */
1134 case 731 : /* fall through */
1135 case 732 : /* fall through */
1136 case 733 : /* fall through */
1137 case 734 : /* fall through */
1138 case 735 : itype = XSTORMY16_INSN_ADCIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1139 case 744 : /* fall through */
1140 case 745 : /* fall through */
1141 case 746 : /* fall through */
1142 case 747 : /* fall through */
1143 case 748 : /* fall through */
1144 case 749 : /* fall through */
1145 case 750 : /* fall through */
1146 case 751 : itype = XSTORMY16_INSN_SUBIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1147 case 760 : /* fall through */
1148 case 761 : /* fall through */
1149 case 762 : /* fall through */
1150 case 763 : /* fall through */
1151 case 764 : /* fall through */
1152 case 765 : /* fall through */
1153 case 766 : /* fall through */
1154 case 767 : itype = XSTORMY16_INSN_SBCGRIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1155 case 768 : /* fall through */
1156 case 770 : /* fall through */
1157 case 772 : /* fall through */
1158 case 774 : /* fall through */
1159 case 776 : /* fall through */
1160 case 778 : /* fall through */
1161 case 780 : /* fall through */
1162 case 782 : itype = XSTORMY16_INSN_MOVGRGRIPOSTINC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1163 case 769 : /* fall through */
1164 case 771 : /* fall through */
1165 case 773 : /* fall through */
1166 case 775 : /* fall through */
1167 case 777 : /* fall through */
1168 case 779 : /* fall through */
1169 case 781 : /* fall through */
1170 case 783 : itype = XSTORMY16_INSN_MOVGRGRIIPOSTINC; xstormy16_extract_sfmt_movgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1171 case 784 : /* fall through */
1172 case 786 : /* fall through */
1173 case 788 : /* fall through */
1174 case 790 : /* fall through */
1175 case 792 : /* fall through */
1176 case 794 : /* fall through */
1177 case 796 : /* fall through */
1178 case 798 : itype = XSTORMY16_INSN_MOVGRIPOSTINCGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1179 case 785 : /* fall through */
1180 case 787 : /* fall through */
1181 case 789 : /* fall through */
1182 case 791 : /* fall through */
1183 case 793 : /* fall through */
1184 case 795 : /* fall through */
1185 case 797 : /* fall through */
1186 case 799 : itype = XSTORMY16_INSN_MOVGRIIPOSTINCGR; xstormy16_extract_sfmt_movgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1187 case 800 : /* fall through */
1188 case 802 : /* fall through */
1189 case 804 : /* fall through */
1190 case 806 : /* fall through */
1191 case 808 : /* fall through */
1192 case 810 : /* fall through */
1193 case 812 : /* fall through */
1194 case 814 : itype = XSTORMY16_INSN_MOVFGRGRIPOSTINC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1195 case 801 : /* fall through */
1196 case 803 : /* fall through */
1197 case 805 : /* fall through */
1198 case 807 : /* fall through */
1199 case 809 : /* fall through */
1200 case 811 : /* fall through */
1201 case 813 : /* fall through */
1202 case 815 : itype = XSTORMY16_INSN_MOVFGRGRIIPOSTINC; xstormy16_extract_sfmt_movfgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1203 case 816 : /* fall through */
1204 case 818 : /* fall through */
1205 case 820 : /* fall through */
1206 case 822 : /* fall through */
1207 case 824 : /* fall through */
1208 case 826 : /* fall through */
1209 case 828 : /* fall through */
1210 case 830 : itype = XSTORMY16_INSN_MOVFGRIPOSTINCGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1211 case 817 : /* fall through */
1212 case 819 : /* fall through */
1213 case 821 : /* fall through */
1214 case 823 : /* fall through */
1215 case 825 : /* fall through */
1216 case 827 : /* fall through */
1217 case 829 : /* fall through */
1218 case 831 : itype = XSTORMY16_INSN_MOVFGRIIPOSTINCGR; xstormy16_extract_sfmt_movfgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1219 case 832 : /* fall through */
1220 case 834 : /* fall through */
1221 case 836 : /* fall through */
1222 case 838 : /* fall through */
1223 case 840 : /* fall through */
1224 case 842 : /* fall through */
1225 case 844 : /* fall through */
1226 case 846 : itype = XSTORMY16_INSN_MOVGRGRIPREDEC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
1227 case 833 : /* fall through */
1228 case 835 : /* fall through */
1229 case 837 : /* fall through */
1230 case 839 : /* fall through */
1231 case 841 : /* fall through */
1232 case 843 : /* fall through */
1233 case 845 : /* fall through */
1234 case 847 : itype = XSTORMY16_INSN_MOVGRGRIIPREDEC; xstormy16_extract_sfmt_movgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
1235 case 848 : /* fall through */
1236 case 850 : /* fall through */
1237 case 852 : /* fall through */
1238 case 854 : /* fall through */
1239 case 856 : /* fall through */
1240 case 858 : /* fall through */
1241 case 860 : /* fall through */
1242 case 862 : itype = XSTORMY16_INSN_MOVGRIPREDECGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1243 case 849 : /* fall through */
1244 case 851 : /* fall through */
1245 case 853 : /* fall through */
1246 case 855 : /* fall through */
1247 case 857 : /* fall through */
1248 case 859 : /* fall through */
1249 case 861 : /* fall through */
1250 case 863 : itype = XSTORMY16_INSN_MOVGRIIPREDECGR; xstormy16_extract_sfmt_movgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1251 case 864 : /* fall through */
1252 case 866 : /* fall through */
1253 case 868 : /* fall through */
1254 case 870 : /* fall through */
1255 case 872 : /* fall through */
1256 case 874 : /* fall through */
1257 case 876 : /* fall through */
1258 case 878 : itype = XSTORMY16_INSN_MOVFGRGRIPREDEC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
1259 case 865 : /* fall through */
1260 case 867 : /* fall through */
1261 case 869 : /* fall through */
1262 case 871 : /* fall through */
1263 case 873 : /* fall through */
1264 case 875 : /* fall through */
1265 case 877 : /* fall through */
1266 case 879 : itype = XSTORMY16_INSN_MOVFGRGRIIPREDEC; xstormy16_extract_sfmt_movfgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
1267 case 880 : /* fall through */
1268 case 882 : /* fall through */
1269 case 884 : /* fall through */
1270 case 886 : /* fall through */
1271 case 888 : /* fall through */
1272 case 890 : /* fall through */
1273 case 892 : /* fall through */
1274 case 894 : itype = XSTORMY16_INSN_MOVFGRIPREDECGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1275 case 881 : /* fall through */
1276 case 883 : /* fall through */
1277 case 885 : /* fall through */
1278 case 887 : /* fall through */
1279 case 889 : /* fall through */
1280 case 891 : /* fall through */
1281 case 893 : /* fall through */
1282 case 895 : itype = XSTORMY16_INSN_MOVFGRIIPREDECGR; xstormy16_extract_sfmt_movfgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1283 case 896 : /* fall through */
1284 case 898 : /* fall through */
1285 case 900 : /* fall through */
1286 case 902 : /* fall through */
1287 case 904 : /* fall through */
1288 case 906 : /* fall through */
1289 case 908 : /* fall through */
1290 case 910 : itype = XSTORMY16_INSN_MOVGRGRI; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done;
1291 case 897 : /* fall through */
1292 case 899 : /* fall through */
1293 case 901 : /* fall through */
1294 case 903 : /* fall through */
1295 case 905 : /* fall through */
1296 case 907 : /* fall through */
1297 case 909 : /* fall through */
1298 case 911 : itype = XSTORMY16_INSN_MOVGRGRII; xstormy16_extract_sfmt_movgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done;
1299 case 912 : /* fall through */
1300 case 914 : /* fall through */
1301 case 916 : /* fall through */
1302 case 918 : /* fall through */
1303 case 920 : /* fall through */
1304 case 922 : /* fall through */
1305 case 924 : /* fall through */
1306 case 926 : itype = XSTORMY16_INSN_MOVGRIGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1307 case 913 : /* fall through */
1308 case 915 : /* fall through */
1309 case 917 : /* fall through */
1310 case 919 : /* fall through */
1311 case 921 : /* fall through */
1312 case 923 : /* fall through */
1313 case 925 : /* fall through */
1314 case 927 : itype = XSTORMY16_INSN_MOVGRIIGR; xstormy16_extract_sfmt_movgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1315 case 928 : /* fall through */
1316 case 930 : /* fall through */
1317 case 932 : /* fall through */
1318 case 934 : /* fall through */
1319 case 936 : /* fall through */
1320 case 938 : /* fall through */
1321 case 940 : /* fall through */
1322 case 942 : itype = XSTORMY16_INSN_MOVFGRGRI; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done;
1323 case 929 : /* fall through */
1324 case 931 : /* fall through */
1325 case 933 : /* fall through */
1326 case 935 : /* fall through */
1327 case 937 : /* fall through */
1328 case 939 : /* fall through */
1329 case 941 : /* fall through */
1330 case 943 : itype = XSTORMY16_INSN_MOVFGRGRII; xstormy16_extract_sfmt_movfgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done;
1331 case 944 : /* fall through */
1332 case 946 : /* fall through */
1333 case 948 : /* fall through */
1334 case 950 : /* fall through */
1335 case 952 : /* fall through */
1336 case 954 : /* fall through */
1337 case 956 : /* fall through */
1338 case 958 : itype = XSTORMY16_INSN_MOVFGRIGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1339 case 945 : /* fall through */
1340 case 947 : /* fall through */
1341 case 949 : /* fall through */
1342 case 951 : /* fall through */
1343 case 953 : /* fall through */
1344 case 955 : /* fall through */
1345 case 957 : /* fall through */
1346 case 959 : itype = XSTORMY16_INSN_MOVFGRIIGR; xstormy16_extract_sfmt_movfgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1347 case 960 : /* fall through */
1348 case 961 : /* fall through */
1349 case 962 : /* fall through */
1350 case 963 : /* fall through */
1351 case 964 : /* fall through */
1352 case 965 : /* fall through */
1353 case 966 : /* fall through */
1354 case 967 : /* fall through */
1355 case 968 : /* fall through */
1356 case 969 : /* fall through */
1357 case 970 : /* fall through */
1358 case 971 : /* fall through */
1359 case 972 : /* fall through */
1360 case 973 : /* fall through */
1361 case 974 : /* fall through */
1362 case 975 : itype = XSTORMY16_INSN_MOVLMEMIMM; xstormy16_extract_sfmt_movlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1363 case 976 : /* fall through */
1364 case 977 : /* fall through */
1365 case 978 : /* fall through */
1366 case 979 : /* fall through */
1367 case 980 : /* fall through */
1368 case 981 : /* fall through */
1369 case 982 : /* fall through */
1370 case 983 : /* fall through */
1371 case 984 : /* fall through */
1372 case 985 : /* fall through */
1373 case 986 : /* fall through */
1374 case 987 : /* fall through */
1375 case 988 : /* fall through */
1376 case 989 : /* fall through */
1377 case 990 : /* fall through */
1378 case 991 : itype = XSTORMY16_INSN_MOVHMEMIMM; xstormy16_extract_sfmt_movhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1379 case 992 : /* fall through */
1380 case 993 : /* fall through */
1381 case 994 : /* fall through */
1382 case 995 : /* fall through */
1383 case 996 : /* fall through */
1384 case 997 : /* fall through */
1385 case 998 : /* fall through */
1386 case 999 : itype = XSTORMY16_INSN_BNLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1387 case 1000 : /* fall through */
1388 case 1001 : /* fall through */
1389 case 1002 : /* fall through */
1390 case 1003 : /* fall through */
1391 case 1004 : /* fall through */
1392 case 1005 : /* fall through */
1393 case 1006 : /* fall through */
1394 case 1007 : itype = XSTORMY16_INSN_BPLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1395 case 1008 : /* fall through */
1396 case 1009 : /* fall through */
1397 case 1010 : /* fall through */
1398 case 1011 : /* fall through */
1399 case 1012 : /* fall through */
1400 case 1013 : /* fall through */
1401 case 1014 : /* fall through */
1402 case 1015 : itype = XSTORMY16_INSN_BNHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1403 case 1016 : /* fall through */
1404 case 1017 : /* fall through */
1405 case 1018 : /* fall through */
1406 case 1019 : /* fall through */
1407 case 1020 : /* fall through */
1408 case 1021 : /* fall through */
1409 case 1022 : /* fall through */
1410 case 1023 : itype = XSTORMY16_INSN_BPHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1411 case 1024 : /* fall through */
1412 case 1025 : /* fall through */
1413 case 1026 : /* fall through */
1414 case 1027 : /* fall through */
1415 case 1028 : /* fall through */
1416 case 1029 : /* fall through */
1417 case 1030 : /* fall through */
1418 case 1031 : /* fall through */
1419 case 1032 : /* fall through */
1420 case 1033 : /* fall through */
1421 case 1034 : /* fall through */
1422 case 1035 : /* fall through */
1423 case 1036 : /* fall through */
1424 case 1037 : /* fall through */
1425 case 1038 : /* fall through */
1426 case 1039 : /* fall through */
1427 case 1040 : /* fall through */
1428 case 1041 : /* fall through */
1429 case 1042 : /* fall through */
1430 case 1043 : /* fall through */
1431 case 1044 : /* fall through */
1432 case 1045 : /* fall through */
1433 case 1046 : /* fall through */
1434 case 1047 : /* fall through */
1435 case 1048 : /* fall through */
1436 case 1049 : /* fall through */
1437 case 1050 : /* fall through */
1438 case 1051 : /* fall through */
1439 case 1052 : /* fall through */
1440 case 1053 : /* fall through */
1441 case 1054 : /* fall through */
1442 case 1055 : /* fall through */
1443 case 1056 : /* fall through */
1444 case 1057 : /* fall through */
1445 case 1058 : /* fall through */
1446 case 1059 : /* fall through */
1447 case 1060 : /* fall through */
1448 case 1061 : /* fall through */
1449 case 1062 : /* fall through */
1450 case 1063 : /* fall through */
1451 case 1064 : /* fall through */
1452 case 1065 : /* fall through */
1453 case 1066 : /* fall through */
1454 case 1067 : /* fall through */
1455 case 1068 : /* fall through */
1456 case 1069 : /* fall through */
1457 case 1070 : /* fall through */
1458 case 1071 : /* fall through */
1459 case 1072 : /* fall through */
1460 case 1073 : /* fall through */
1461 case 1074 : /* fall through */
1462 case 1075 : /* fall through */
1463 case 1076 : /* fall through */
1464 case 1077 : /* fall through */
1465 case 1078 : /* fall through */
1466 case 1079 : /* fall through */
1467 case 1080 : /* fall through */
1468 case 1081 : /* fall through */
1469 case 1082 : /* fall through */
1470 case 1083 : /* fall through */
1471 case 1084 : /* fall through */
1472 case 1085 : /* fall through */
1473 case 1086 : /* fall through */
1474 case 1087 : /* fall through */
1475 case 1088 : /* fall through */
1476 case 1089 : /* fall through */
1477 case 1090 : /* fall through */
1478 case 1091 : /* fall through */
1479 case 1092 : /* fall through */
1480 case 1093 : /* fall through */
1481 case 1094 : /* fall through */
1482 case 1095 : /* fall through */
1483 case 1096 : /* fall through */
1484 case 1097 : /* fall through */
1485 case 1098 : /* fall through */
1486 case 1099 : /* fall through */
1487 case 1100 : /* fall through */
1488 case 1101 : /* fall through */
1489 case 1102 : /* fall through */
1490 case 1103 : /* fall through */
1491 case 1104 : /* fall through */
1492 case 1105 : /* fall through */
1493 case 1106 : /* fall through */
1494 case 1107 : /* fall through */
1495 case 1108 : /* fall through */
1496 case 1109 : /* fall through */
1497 case 1110 : /* fall through */
1498 case 1111 : /* fall through */
1499 case 1112 : /* fall through */
1500 case 1113 : /* fall through */
1501 case 1114 : /* fall through */
1502 case 1115 : /* fall through */
1503 case 1116 : /* fall through */
1504 case 1117 : /* fall through */
1505 case 1118 : /* fall through */
1506 case 1119 : /* fall through */
1507 case 1120 : /* fall through */
1508 case 1121 : /* fall through */
1509 case 1122 : /* fall through */
1510 case 1123 : /* fall through */
1511 case 1124 : /* fall through */
1512 case 1125 : /* fall through */
1513 case 1126 : /* fall through */
1514 case 1127 : /* fall through */
1515 case 1128 : /* fall through */
1516 case 1129 : /* fall through */
1517 case 1130 : /* fall through */
1518 case 1131 : /* fall through */
1519 case 1132 : /* fall through */
1520 case 1133 : /* fall through */
1521 case 1134 : /* fall through */
1522 case 1135 : /* fall through */
1523 case 1136 : /* fall through */
1524 case 1137 : /* fall through */
1525 case 1138 : /* fall through */
1526 case 1139 : /* fall through */
1527 case 1140 : /* fall through */
1528 case 1141 : /* fall through */
1529 case 1142 : /* fall through */
1530 case 1143 : /* fall through */
1531 case 1144 : /* fall through */
1532 case 1145 : /* fall through */
1533 case 1146 : /* fall through */
1534 case 1147 : /* fall through */
1535 case 1148 : /* fall through */
1536 case 1149 : /* fall through */
1537 case 1150 : /* fall through */
1538 case 1151 : itype = XSTORMY16_INSN_MOVLGRMEM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done;
1539 case 1152 : /* fall through */
1540 case 1153 : /* fall through */
1541 case 1154 : /* fall through */
1542 case 1155 : /* fall through */
1543 case 1156 : /* fall through */
1544 case 1157 : /* fall through */
1545 case 1158 : /* fall through */
1546 case 1159 : /* fall through */
1547 case 1160 : /* fall through */
1548 case 1161 : /* fall through */
1549 case 1162 : /* fall through */
1550 case 1163 : /* fall through */
1551 case 1164 : /* fall through */
1552 case 1165 : /* fall through */
1553 case 1166 : /* fall through */
1554 case 1167 : /* fall through */
1555 case 1168 : /* fall through */
1556 case 1169 : /* fall through */
1557 case 1170 : /* fall through */
1558 case 1171 : /* fall through */
1559 case 1172 : /* fall through */
1560 case 1173 : /* fall through */
1561 case 1174 : /* fall through */
1562 case 1175 : /* fall through */
1563 case 1176 : /* fall through */
1564 case 1177 : /* fall through */
1565 case 1178 : /* fall through */
1566 case 1179 : /* fall through */
1567 case 1180 : /* fall through */
1568 case 1181 : /* fall through */
1569 case 1182 : /* fall through */
1570 case 1183 : /* fall through */
1571 case 1184 : /* fall through */
1572 case 1185 : /* fall through */
1573 case 1186 : /* fall through */
1574 case 1187 : /* fall through */
1575 case 1188 : /* fall through */
1576 case 1189 : /* fall through */
1577 case 1190 : /* fall through */
1578 case 1191 : /* fall through */
1579 case 1192 : /* fall through */
1580 case 1193 : /* fall through */
1581 case 1194 : /* fall through */
1582 case 1195 : /* fall through */
1583 case 1196 : /* fall through */
1584 case 1197 : /* fall through */
1585 case 1198 : /* fall through */
1586 case 1199 : /* fall through */
1587 case 1200 : /* fall through */
1588 case 1201 : /* fall through */
1589 case 1202 : /* fall through */
1590 case 1203 : /* fall through */
1591 case 1204 : /* fall through */
1592 case 1205 : /* fall through */
1593 case 1206 : /* fall through */
1594 case 1207 : /* fall through */
1595 case 1208 : /* fall through */
1596 case 1209 : /* fall through */
1597 case 1210 : /* fall through */
1598 case 1211 : /* fall through */
1599 case 1212 : /* fall through */
1600 case 1213 : /* fall through */
1601 case 1214 : /* fall through */
1602 case 1215 : /* fall through */
1603 case 1216 : /* fall through */
1604 case 1217 : /* fall through */
1605 case 1218 : /* fall through */
1606 case 1219 : /* fall through */
1607 case 1220 : /* fall through */
1608 case 1221 : /* fall through */
1609 case 1222 : /* fall through */
1610 case 1223 : /* fall through */
1611 case 1224 : /* fall through */
1612 case 1225 : /* fall through */
1613 case 1226 : /* fall through */
1614 case 1227 : /* fall through */
1615 case 1228 : /* fall through */
1616 case 1229 : /* fall through */
1617 case 1230 : /* fall through */
1618 case 1231 : /* fall through */
1619 case 1232 : /* fall through */
1620 case 1233 : /* fall through */
1621 case 1234 : /* fall through */
1622 case 1235 : /* fall through */
1623 case 1236 : /* fall through */
1624 case 1237 : /* fall through */
1625 case 1238 : /* fall through */
1626 case 1239 : /* fall through */
1627 case 1240 : /* fall through */
1628 case 1241 : /* fall through */
1629 case 1242 : /* fall through */
1630 case 1243 : /* fall through */
1631 case 1244 : /* fall through */
1632 case 1245 : /* fall through */
1633 case 1246 : /* fall through */
1634 case 1247 : /* fall through */
1635 case 1248 : /* fall through */
1636 case 1249 : /* fall through */
1637 case 1250 : /* fall through */
1638 case 1251 : /* fall through */
1639 case 1252 : /* fall through */
1640 case 1253 : /* fall through */
1641 case 1254 : /* fall through */
1642 case 1255 : /* fall through */
1643 case 1256 : /* fall through */
1644 case 1257 : /* fall through */
1645 case 1258 : /* fall through */
1646 case 1259 : /* fall through */
1647 case 1260 : /* fall through */
1648 case 1261 : /* fall through */
1649 case 1262 : /* fall through */
1650 case 1263 : /* fall through */
1651 case 1264 : /* fall through */
1652 case 1265 : /* fall through */
1653 case 1266 : /* fall through */
1654 case 1267 : /* fall through */
1655 case 1268 : /* fall through */
1656 case 1269 : /* fall through */
1657 case 1270 : /* fall through */
1658 case 1271 : /* fall through */
1659 case 1272 : /* fall through */
1660 case 1273 : /* fall through */
1661 case 1274 : /* fall through */
1662 case 1275 : /* fall through */
1663 case 1276 : /* fall through */
1664 case 1277 : /* fall through */
1665 case 1278 : /* fall through */
1666 case 1279 : itype = XSTORMY16_INSN_MOVLMEMGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1667 case 1280 : /* fall through */
1668 case 1281 : /* fall through */
1669 case 1282 : /* fall through */
1670 case 1283 : /* fall through */
1671 case 1284 : /* fall through */
1672 case 1285 : /* fall through */
1673 case 1286 : /* fall through */
1674 case 1287 : /* fall through */
1675 case 1288 : /* fall through */
1676 case 1289 : /* fall through */
1677 case 1290 : /* fall through */
1678 case 1291 : /* fall through */
1679 case 1292 : /* fall through */
1680 case 1293 : /* fall through */
1681 case 1294 : /* fall through */
1682 case 1295 : /* fall through */
1683 case 1296 : /* fall through */
1684 case 1297 : /* fall through */
1685 case 1298 : /* fall through */
1686 case 1299 : /* fall through */
1687 case 1300 : /* fall through */
1688 case 1301 : /* fall through */
1689 case 1302 : /* fall through */
1690 case 1303 : /* fall through */
1691 case 1304 : /* fall through */
1692 case 1305 : /* fall through */
1693 case 1306 : /* fall through */
1694 case 1307 : /* fall through */
1695 case 1308 : /* fall through */
1696 case 1309 : /* fall through */
1697 case 1310 : /* fall through */
1698 case 1311 : /* fall through */
1699 case 1312 : /* fall through */
1700 case 1313 : /* fall through */
1701 case 1314 : /* fall through */
1702 case 1315 : /* fall through */
1703 case 1316 : /* fall through */
1704 case 1317 : /* fall through */
1705 case 1318 : /* fall through */
1706 case 1319 : /* fall through */
1707 case 1320 : /* fall through */
1708 case 1321 : /* fall through */
1709 case 1322 : /* fall through */
1710 case 1323 : /* fall through */
1711 case 1324 : /* fall through */
1712 case 1325 : /* fall through */
1713 case 1326 : /* fall through */
1714 case 1327 : /* fall through */
1715 case 1328 : /* fall through */
1716 case 1329 : /* fall through */
1717 case 1330 : /* fall through */
1718 case 1331 : /* fall through */
1719 case 1332 : /* fall through */
1720 case 1333 : /* fall through */
1721 case 1334 : /* fall through */
1722 case 1335 : /* fall through */
1723 case 1336 : /* fall through */
1724 case 1337 : /* fall through */
1725 case 1338 : /* fall through */
1726 case 1339 : /* fall through */
1727 case 1340 : /* fall through */
1728 case 1341 : /* fall through */
1729 case 1342 : /* fall through */
1730 case 1343 : /* fall through */
1731 case 1344 : /* fall through */
1732 case 1345 : /* fall through */
1733 case 1346 : /* fall through */
1734 case 1347 : /* fall through */
1735 case 1348 : /* fall through */
1736 case 1349 : /* fall through */
1737 case 1350 : /* fall through */
1738 case 1351 : /* fall through */
1739 case 1352 : /* fall through */
1740 case 1353 : /* fall through */
1741 case 1354 : /* fall through */
1742 case 1355 : /* fall through */
1743 case 1356 : /* fall through */
1744 case 1357 : /* fall through */
1745 case 1358 : /* fall through */
1746 case 1359 : /* fall through */
1747 case 1360 : /* fall through */
1748 case 1361 : /* fall through */
1749 case 1362 : /* fall through */
1750 case 1363 : /* fall through */
1751 case 1364 : /* fall through */
1752 case 1365 : /* fall through */
1753 case 1366 : /* fall through */
1754 case 1367 : /* fall through */
1755 case 1368 : /* fall through */
1756 case 1369 : /* fall through */
1757 case 1370 : /* fall through */
1758 case 1371 : /* fall through */
1759 case 1372 : /* fall through */
1760 case 1373 : /* fall through */
1761 case 1374 : /* fall through */
1762 case 1375 : /* fall through */
1763 case 1376 : /* fall through */
1764 case 1377 : /* fall through */
1765 case 1378 : /* fall through */
1766 case 1379 : /* fall through */
1767 case 1380 : /* fall through */
1768 case 1381 : /* fall through */
1769 case 1382 : /* fall through */
1770 case 1383 : /* fall through */
1771 case 1384 : /* fall through */
1772 case 1385 : /* fall through */
1773 case 1386 : /* fall through */
1774 case 1387 : /* fall through */
1775 case 1388 : /* fall through */
1776 case 1389 : /* fall through */
1777 case 1390 : /* fall through */
1778 case 1391 : /* fall through */
1779 case 1392 : /* fall through */
1780 case 1393 : /* fall through */
1781 case 1394 : /* fall through */
1782 case 1395 : /* fall through */
1783 case 1396 : /* fall through */
1784 case 1397 : /* fall through */
1785 case 1398 : /* fall through */
1786 case 1399 : /* fall through */
1787 case 1400 : /* fall through */
1788 case 1401 : /* fall through */
1789 case 1402 : /* fall through */
1790 case 1403 : /* fall through */
1791 case 1404 : /* fall through */
1792 case 1405 : /* fall through */
1793 case 1406 : /* fall through */
1794 case 1407 : itype = XSTORMY16_INSN_MOVHGRMEM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movhgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done;
1795 case 1408 : /* fall through */
1796 case 1409 : /* fall through */
1797 case 1410 : /* fall through */
1798 case 1411 : /* fall through */
1799 case 1412 : /* fall through */
1800 case 1413 : /* fall through */
1801 case 1414 : /* fall through */
1802 case 1415 : /* fall through */
1803 case 1416 : /* fall through */
1804 case 1417 : /* fall through */
1805 case 1418 : /* fall through */
1806 case 1419 : /* fall through */
1807 case 1420 : /* fall through */
1808 case 1421 : /* fall through */
1809 case 1422 : /* fall through */
1810 case 1423 : /* fall through */
1811 case 1424 : /* fall through */
1812 case 1425 : /* fall through */
1813 case 1426 : /* fall through */
1814 case 1427 : /* fall through */
1815 case 1428 : /* fall through */
1816 case 1429 : /* fall through */
1817 case 1430 : /* fall through */
1818 case 1431 : /* fall through */
1819 case 1432 : /* fall through */
1820 case 1433 : /* fall through */
1821 case 1434 : /* fall through */
1822 case 1435 : /* fall through */
1823 case 1436 : /* fall through */
1824 case 1437 : /* fall through */
1825 case 1438 : /* fall through */
1826 case 1439 : /* fall through */
1827 case 1440 : /* fall through */
1828 case 1441 : /* fall through */
1829 case 1442 : /* fall through */
1830 case 1443 : /* fall through */
1831 case 1444 : /* fall through */
1832 case 1445 : /* fall through */
1833 case 1446 : /* fall through */
1834 case 1447 : /* fall through */
1835 case 1448 : /* fall through */
1836 case 1449 : /* fall through */
1837 case 1450 : /* fall through */
1838 case 1451 : /* fall through */
1839 case 1452 : /* fall through */
1840 case 1453 : /* fall through */
1841 case 1454 : /* fall through */
1842 case 1455 : /* fall through */
1843 case 1456 : /* fall through */
1844 case 1457 : /* fall through */
1845 case 1458 : /* fall through */
1846 case 1459 : /* fall through */
1847 case 1460 : /* fall through */
1848 case 1461 : /* fall through */
1849 case 1462 : /* fall through */
1850 case 1463 : /* fall through */
1851 case 1464 : /* fall through */
1852 case 1465 : /* fall through */
1853 case 1466 : /* fall through */
1854 case 1467 : /* fall through */
1855 case 1468 : /* fall through */
1856 case 1469 : /* fall through */
1857 case 1470 : /* fall through */
1858 case 1471 : /* fall through */
1859 case 1472 : /* fall through */
1860 case 1473 : /* fall through */
1861 case 1474 : /* fall through */
1862 case 1475 : /* fall through */
1863 case 1476 : /* fall through */
1864 case 1477 : /* fall through */
1865 case 1478 : /* fall through */
1866 case 1479 : /* fall through */
1867 case 1480 : /* fall through */
1868 case 1481 : /* fall through */
1869 case 1482 : /* fall through */
1870 case 1483 : /* fall through */
1871 case 1484 : /* fall through */
1872 case 1485 : /* fall through */
1873 case 1486 : /* fall through */
1874 case 1487 : /* fall through */
1875 case 1488 : /* fall through */
1876 case 1489 : /* fall through */
1877 case 1490 : /* fall through */
1878 case 1491 : /* fall through */
1879 case 1492 : /* fall through */
1880 case 1493 : /* fall through */
1881 case 1494 : /* fall through */
1882 case 1495 : /* fall through */
1883 case 1496 : /* fall through */
1884 case 1497 : /* fall through */
1885 case 1498 : /* fall through */
1886 case 1499 : /* fall through */
1887 case 1500 : /* fall through */
1888 case 1501 : /* fall through */
1889 case 1502 : /* fall through */
1890 case 1503 : /* fall through */
1891 case 1504 : /* fall through */
1892 case 1505 : /* fall through */
1893 case 1506 : /* fall through */
1894 case 1507 : /* fall through */
1895 case 1508 : /* fall through */
1896 case 1509 : /* fall through */
1897 case 1510 : /* fall through */
1898 case 1511 : /* fall through */
1899 case 1512 : /* fall through */
1900 case 1513 : /* fall through */
1901 case 1514 : /* fall through */
1902 case 1515 : /* fall through */
1903 case 1516 : /* fall through */
1904 case 1517 : /* fall through */
1905 case 1518 : /* fall through */
1906 case 1519 : /* fall through */
1907 case 1520 : /* fall through */
1908 case 1521 : /* fall through */
1909 case 1522 : /* fall through */
1910 case 1523 : /* fall through */
1911 case 1524 : /* fall through */
1912 case 1525 : /* fall through */
1913 case 1526 : /* fall through */
1914 case 1527 : /* fall through */
1915 case 1528 : /* fall through */
1916 case 1529 : /* fall through */
1917 case 1530 : /* fall through */
1918 case 1531 : /* fall through */
1919 case 1532 : /* fall through */
1920 case 1533 : /* fall through */
1921 case 1534 : /* fall through */
1922 case 1535 : itype = XSTORMY16_INSN_MOVHMEMGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movhmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1923 case 1536 : /* fall through */
1924 case 1537 : /* fall through */
1925 case 1538 : /* fall through */
1926 case 1539 : /* fall through */
1927 case 1540 : /* fall through */
1928 case 1541 : /* fall through */
1929 case 1542 : /* fall through */
1930 case 1543 : /* fall through */
1931 case 1544 : /* fall through */
1932 case 1545 : /* fall through */
1933 case 1546 : /* fall through */
1934 case 1547 : /* fall through */
1935 case 1548 : /* fall through */
1936 case 1549 : /* fall through */
1937 case 1550 : /* fall through */
1938 case 1551 : /* fall through */
1939 case 1552 : /* fall through */
1940 case 1553 : /* fall through */
1941 case 1554 : /* fall through */
1942 case 1555 : /* fall through */
1943 case 1556 : /* fall through */
1944 case 1557 : /* fall through */
1945 case 1558 : /* fall through */
1946 case 1559 : /* fall through */
1947 case 1560 : /* fall through */
1948 case 1561 : /* fall through */
1949 case 1562 : /* fall through */
1950 case 1563 : /* fall through */
1951 case 1564 : /* fall through */
1952 case 1565 : /* fall through */
1953 case 1566 : /* fall through */
1954 case 1567 : /* fall through */
1955 case 1568 : /* fall through */
1956 case 1569 : /* fall through */
1957 case 1570 : /* fall through */
1958 case 1571 : /* fall through */
1959 case 1572 : /* fall through */
1960 case 1573 : /* fall through */
1961 case 1574 : /* fall through */
1962 case 1575 : /* fall through */
1963 case 1576 : /* fall through */
1964 case 1577 : /* fall through */
1965 case 1578 : /* fall through */
1966 case 1579 : /* fall through */
1967 case 1580 : /* fall through */
1968 case 1581 : /* fall through */
1969 case 1582 : /* fall through */
1970 case 1583 : /* fall through */
1971 case 1584 : /* fall through */
1972 case 1585 : /* fall through */
1973 case 1586 : /* fall through */
1974 case 1587 : /* fall through */
1975 case 1588 : /* fall through */
1976 case 1589 : /* fall through */
1977 case 1590 : /* fall through */
1978 case 1591 : /* fall through */
1979 case 1592 : /* fall through */
1980 case 1593 : /* fall through */
1981 case 1594 : /* fall through */
1982 case 1595 : /* fall through */
1983 case 1596 : /* fall through */
1984 case 1597 : /* fall through */
1985 case 1598 : /* fall through */
1986 case 1599 : /* fall through */
1987 case 1600 : /* fall through */
1988 case 1601 : /* fall through */
1989 case 1602 : /* fall through */
1990 case 1603 : /* fall through */
1991 case 1604 : /* fall through */
1992 case 1605 : /* fall through */
1993 case 1606 : /* fall through */
1994 case 1607 : /* fall through */
1995 case 1608 : /* fall through */
1996 case 1609 : /* fall through */
1997 case 1610 : /* fall through */
1998 case 1611 : /* fall through */
1999 case 1612 : /* fall through */
2000 case 1613 : /* fall through */
2001 case 1614 : /* fall through */
2002 case 1615 : /* fall through */
2003 case 1616 : /* fall through */
2004 case 1617 : /* fall through */
2005 case 1618 : /* fall through */
2006 case 1619 : /* fall through */
2007 case 1620 : /* fall through */
2008 case 1621 : /* fall through */
2009 case 1622 : /* fall through */
2010 case 1623 : /* fall through */
2011 case 1624 : /* fall through */
2012 case 1625 : /* fall through */
2013 case 1626 : /* fall through */
2014 case 1627 : /* fall through */
2015 case 1628 : /* fall through */
2016 case 1629 : /* fall through */
2017 case 1630 : /* fall through */
2018 case 1631 : /* fall through */
2019 case 1632 : /* fall through */
2020 case 1633 : /* fall through */
2021 case 1634 : /* fall through */
2022 case 1635 : /* fall through */
2023 case 1636 : /* fall through */
2024 case 1637 : /* fall through */
2025 case 1638 : /* fall through */
2026 case 1639 : /* fall through */
2027 case 1640 : /* fall through */
2028 case 1641 : /* fall through */
2029 case 1642 : /* fall through */
2030 case 1643 : /* fall through */
2031 case 1644 : /* fall through */
2032 case 1645 : /* fall through */
2033 case 1646 : /* fall through */
2034 case 1647 : /* fall through */
2035 case 1648 : /* fall through */
2036 case 1649 : /* fall through */
2037 case 1650 : /* fall through */
2038 case 1651 : /* fall through */
2039 case 1652 : /* fall through */
2040 case 1653 : /* fall through */
2041 case 1654 : /* fall through */
2042 case 1655 : /* fall through */
2043 case 1656 : /* fall through */
2044 case 1657 : /* fall through */
2045 case 1658 : /* fall through */
2046 case 1659 : /* fall through */
2047 case 1660 : /* fall through */
2048 case 1661 : /* fall through */
2049 case 1662 : /* fall through */
2050 case 1663 : itype = XSTORMY16_INSN_BCCIMM16; xstormy16_extract_sfmt_bccimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
2051 case 1664 : /* fall through */
2052 case 1665 : /* fall through */
2053 case 1666 : /* fall through */
2054 case 1667 : /* fall through */
2055 case 1668 : /* fall through */
2056 case 1669 : /* fall through */
2057 case 1670 : /* fall through */
2058 case 1671 : /* fall through */
2059 case 1672 : /* fall through */
2060 case 1673 : /* fall through */
2061 case 1674 : /* fall through */
2062 case 1675 : /* fall through */
2063 case 1676 : /* fall through */
2064 case 1677 : /* fall through */
2065 case 1678 : /* fall through */
2066 case 1679 : /* fall through */
2067 case 1680 : /* fall through */
2068 case 1681 : /* fall through */
2069 case 1682 : /* fall through */
2070 case 1683 : /* fall through */
2071 case 1684 : /* fall through */
2072 case 1685 : /* fall through */
2073 case 1686 : /* fall through */
2074 case 1687 : /* fall through */
2075 case 1688 : /* fall through */
2076 case 1689 : /* fall through */
2077 case 1690 : /* fall through */
2078 case 1691 : /* fall through */
2079 case 1692 : /* fall through */
2080 case 1693 : /* fall through */
2081 case 1694 : /* fall through */
2082 case 1695 : /* fall through */
2083 case 1696 : /* fall through */
2084 case 1697 : /* fall through */
2085 case 1698 : /* fall through */
2086 case 1699 : /* fall through */
2087 case 1700 : /* fall through */
2088 case 1701 : /* fall through */
2089 case 1702 : /* fall through */
2090 case 1703 : /* fall through */
2091 case 1704 : /* fall through */
2092 case 1705 : /* fall through */
2093 case 1706 : /* fall through */
2094 case 1707 : /* fall through */
2095 case 1708 : /* fall through */
2096 case 1709 : /* fall through */
2097 case 1710 : /* fall through */
2098 case 1711 : /* fall through */
2099 case 1712 : /* fall through */
2100 case 1713 : /* fall through */
2101 case 1714 : /* fall through */
2102 case 1715 : /* fall through */
2103 case 1716 : /* fall through */
2104 case 1717 : /* fall through */
2105 case 1718 : /* fall through */
2106 case 1719 : /* fall through */
2107 case 1720 : /* fall through */
2108 case 1721 : /* fall through */
2109 case 1722 : /* fall through */
2110 case 1723 : /* fall through */
2111 case 1724 : /* fall through */
2112 case 1725 : /* fall through */
2113 case 1726 : /* fall through */
2114 case 1727 : /* fall through */
2115 case 1728 : /* fall through */
2116 case 1729 : /* fall through */
2117 case 1730 : /* fall through */
2118 case 1731 : /* fall through */
2119 case 1732 : /* fall through */
2120 case 1733 : /* fall through */
2121 case 1734 : /* fall through */
2122 case 1735 : /* fall through */
2123 case 1736 : /* fall through */
2124 case 1737 : /* fall through */
2125 case 1738 : /* fall through */
2126 case 1739 : /* fall through */
2127 case 1740 : /* fall through */
2128 case 1741 : /* fall through */
2129 case 1742 : /* fall through */
2130 case 1743 : /* fall through */
2131 case 1744 : /* fall through */
2132 case 1745 : /* fall through */
2133 case 1746 : /* fall through */
2134 case 1747 : /* fall through */
2135 case 1748 : /* fall through */
2136 case 1749 : /* fall through */
2137 case 1750 : /* fall through */
2138 case 1751 : /* fall through */
2139 case 1752 : /* fall through */
2140 case 1753 : /* fall through */
2141 case 1754 : /* fall through */
2142 case 1755 : /* fall through */
2143 case 1756 : /* fall through */
2144 case 1757 : /* fall through */
2145 case 1758 : /* fall through */
2146 case 1759 : /* fall through */
2147 case 1760 : /* fall through */
2148 case 1761 : /* fall through */
2149 case 1762 : /* fall through */
2150 case 1763 : /* fall through */
2151 case 1764 : /* fall through */
2152 case 1765 : /* fall through */
2153 case 1766 : /* fall through */
2154 case 1767 : /* fall through */
2155 case 1768 : /* fall through */
2156 case 1769 : /* fall through */
2157 case 1770 : /* fall through */
2158 case 1771 : /* fall through */
2159 case 1772 : /* fall through */
2160 case 1773 : /* fall through */
2161 case 1774 : /* fall through */
2162 case 1775 : /* fall through */
2163 case 1776 : /* fall through */
2164 case 1777 : /* fall through */
2165 case 1778 : /* fall through */
2166 case 1779 : /* fall through */
2167 case 1780 : /* fall through */
2168 case 1781 : /* fall through */
2169 case 1782 : /* fall through */
2170 case 1783 : /* fall through */
2171 case 1784 : /* fall through */
2172 case 1785 : /* fall through */
2173 case 1786 : /* fall through */
2174 case 1787 : /* fall through */
2175 case 1788 : /* fall through */
2176 case 1789 : /* fall through */
2177 case 1790 : /* fall through */
2178 case 1791 : itype = XSTORMY16_INSN_BCC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bcc (this, current_cpu, pc, base_insn, entire_insn); goto done;
2179 case 1792 : /* fall through */
2180 case 1793 : /* fall through */
2181 case 1794 : /* fall through */
2182 case 1795 : /* fall through */
2183 case 1796 : /* fall through */
2184 case 1797 : /* fall through */
2185 case 1798 : /* fall through */
2186 case 1799 : /* fall through */
2187 case 1808 : /* fall through */
2188 case 1809 : /* fall through */
2189 case 1810 : /* fall through */
2190 case 1811 : /* fall through */
2191 case 1812 : /* fall through */
2192 case 1813 : /* fall through */
2193 case 1814 : /* fall through */
2194 case 1815 : /* fall through */
2195 case 1824 : /* fall through */
2196 case 1825 : /* fall through */
2197 case 1826 : /* fall through */
2198 case 1827 : /* fall through */
2199 case 1828 : /* fall through */
2200 case 1829 : /* fall through */
2201 case 1830 : /* fall through */
2202 case 1831 : /* fall through */
2203 case 1840 : /* fall through */
2204 case 1841 : /* fall through */
2205 case 1842 : /* fall through */
2206 case 1843 : /* fall through */
2207 case 1844 : /* fall through */
2208 case 1845 : /* fall through */
2209 case 1846 : /* fall through */
2210 case 1847 : /* fall through */
2211 case 1856 : /* fall through */
2212 case 1857 : /* fall through */
2213 case 1858 : /* fall through */
2214 case 1859 : /* fall through */
2215 case 1860 : /* fall through */
2216 case 1861 : /* fall through */
2217 case 1862 : /* fall through */
2218 case 1863 : /* fall through */
2219 case 1872 : /* fall through */
2220 case 1873 : /* fall through */
2221 case 1874 : /* fall through */
2222 case 1875 : /* fall through */
2223 case 1876 : /* fall through */
2224 case 1877 : /* fall through */
2225 case 1878 : /* fall through */
2226 case 1879 : /* fall through */
2227 case 1888 : /* fall through */
2228 case 1889 : /* fall through */
2229 case 1890 : /* fall through */
2230 case 1891 : /* fall through */
2231 case 1892 : /* fall through */
2232 case 1893 : /* fall through */
2233 case 1894 : /* fall through */
2234 case 1895 : /* fall through */
2235 case 1904 : /* fall through */
2236 case 1905 : /* fall through */
2237 case 1906 : /* fall through */
2238 case 1907 : /* fall through */
2239 case 1908 : /* fall through */
2240 case 1909 : /* fall through */
2241 case 1910 : /* fall through */
2242 case 1911 : itype = XSTORMY16_INSN_CLR1LMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
2243 case 1800 : /* fall through */
2244 case 1801 : /* fall through */
2245 case 1802 : /* fall through */
2246 case 1803 : /* fall through */
2247 case 1804 : /* fall through */
2248 case 1805 : /* fall through */
2249 case 1806 : /* fall through */
2250 case 1807 : /* fall through */
2251 case 1816 : /* fall through */
2252 case 1817 : /* fall through */
2253 case 1818 : /* fall through */
2254 case 1819 : /* fall through */
2255 case 1820 : /* fall through */
2256 case 1821 : /* fall through */
2257 case 1822 : /* fall through */
2258 case 1823 : /* fall through */
2259 case 1832 : /* fall through */
2260 case 1833 : /* fall through */
2261 case 1834 : /* fall through */
2262 case 1835 : /* fall through */
2263 case 1836 : /* fall through */
2264 case 1837 : /* fall through */
2265 case 1838 : /* fall through */
2266 case 1839 : /* fall through */
2267 case 1848 : /* fall through */
2268 case 1849 : /* fall through */
2269 case 1850 : /* fall through */
2270 case 1851 : /* fall through */
2271 case 1852 : /* fall through */
2272 case 1853 : /* fall through */
2273 case 1854 : /* fall through */
2274 case 1855 : /* fall through */
2275 case 1864 : /* fall through */
2276 case 1865 : /* fall through */
2277 case 1866 : /* fall through */
2278 case 1867 : /* fall through */
2279 case 1868 : /* fall through */
2280 case 1869 : /* fall through */
2281 case 1870 : /* fall through */
2282 case 1871 : /* fall through */
2283 case 1880 : /* fall through */
2284 case 1881 : /* fall through */
2285 case 1882 : /* fall through */
2286 case 1883 : /* fall through */
2287 case 1884 : /* fall through */
2288 case 1885 : /* fall through */
2289 case 1886 : /* fall through */
2290 case 1887 : /* fall through */
2291 case 1896 : /* fall through */
2292 case 1897 : /* fall through */
2293 case 1898 : /* fall through */
2294 case 1899 : /* fall through */
2295 case 1900 : /* fall through */
2296 case 1901 : /* fall through */
2297 case 1902 : /* fall through */
2298 case 1903 : /* fall through */
2299 case 1912 : /* fall through */
2300 case 1913 : /* fall through */
2301 case 1914 : /* fall through */
2302 case 1915 : /* fall through */
2303 case 1916 : /* fall through */
2304 case 1917 : /* fall through */
2305 case 1918 : /* fall through */
2306 case 1919 : itype = XSTORMY16_INSN_SET1LMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
2307 case 1920 : /* fall through */
2308 case 1921 : /* fall through */
2309 case 1922 : /* fall through */
2310 case 1923 : /* fall through */
2311 case 1924 : /* fall through */
2312 case 1925 : /* fall through */
2313 case 1926 : /* fall through */
2314 case 1927 : /* fall through */
2315 case 1936 : /* fall through */
2316 case 1937 : /* fall through */
2317 case 1938 : /* fall through */
2318 case 1939 : /* fall through */
2319 case 1940 : /* fall through */
2320 case 1941 : /* fall through */
2321 case 1942 : /* fall through */
2322 case 1943 : /* fall through */
2323 case 1952 : /* fall through */
2324 case 1953 : /* fall through */
2325 case 1954 : /* fall through */
2326 case 1955 : /* fall through */
2327 case 1956 : /* fall through */
2328 case 1957 : /* fall through */
2329 case 1958 : /* fall through */
2330 case 1959 : /* fall through */
2331 case 1968 : /* fall through */
2332 case 1969 : /* fall through */
2333 case 1970 : /* fall through */
2334 case 1971 : /* fall through */
2335 case 1972 : /* fall through */
2336 case 1973 : /* fall through */
2337 case 1974 : /* fall through */
2338 case 1975 : /* fall through */
2339 case 1984 : /* fall through */
2340 case 1985 : /* fall through */
2341 case 1986 : /* fall through */
2342 case 1987 : /* fall through */
2343 case 1988 : /* fall through */
2344 case 1989 : /* fall through */
2345 case 1990 : /* fall through */
2346 case 1991 : /* fall through */
2347 case 2000 : /* fall through */
2348 case 2001 : /* fall through */
2349 case 2002 : /* fall through */
2350 case 2003 : /* fall through */
2351 case 2004 : /* fall through */
2352 case 2005 : /* fall through */
2353 case 2006 : /* fall through */
2354 case 2007 : /* fall through */
2355 case 2016 : /* fall through */
2356 case 2017 : /* fall through */
2357 case 2018 : /* fall through */
2358 case 2019 : /* fall through */
2359 case 2020 : /* fall through */
2360 case 2021 : /* fall through */
2361 case 2022 : /* fall through */
2362 case 2023 : /* fall through */
2363 case 2032 : /* fall through */
2364 case 2033 : /* fall through */
2365 case 2034 : /* fall through */
2366 case 2035 : /* fall through */
2367 case 2036 : /* fall through */
2368 case 2037 : /* fall through */
2369 case 2038 : /* fall through */
2370 case 2039 : itype = XSTORMY16_INSN_CLR1HMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
2371 case 1928 : /* fall through */
2372 case 1929 : /* fall through */
2373 case 1930 : /* fall through */
2374 case 1931 : /* fall through */
2375 case 1932 : /* fall through */
2376 case 1933 : /* fall through */
2377 case 1934 : /* fall through */
2378 case 1935 : /* fall through */
2379 case 1944 : /* fall through */
2380 case 1945 : /* fall through */
2381 case 1946 : /* fall through */
2382 case 1947 : /* fall through */
2383 case 1948 : /* fall through */
2384 case 1949 : /* fall through */
2385 case 1950 : /* fall through */
2386 case 1951 : /* fall through */
2387 case 1960 : /* fall through */
2388 case 1961 : /* fall through */
2389 case 1962 : /* fall through */
2390 case 1963 : /* fall through */
2391 case 1964 : /* fall through */
2392 case 1965 : /* fall through */
2393 case 1966 : /* fall through */
2394 case 1967 : /* fall through */
2395 case 1976 : /* fall through */
2396 case 1977 : /* fall through */
2397 case 1978 : /* fall through */
2398 case 1979 : /* fall through */
2399 case 1980 : /* fall through */
2400 case 1981 : /* fall through */
2401 case 1982 : /* fall through */
2402 case 1983 : /* fall through */
2403 case 1992 : /* fall through */
2404 case 1993 : /* fall through */
2405 case 1994 : /* fall through */
2406 case 1995 : /* fall through */
2407 case 1996 : /* fall through */
2408 case 1997 : /* fall through */
2409 case 1998 : /* fall through */
2410 case 1999 : /* fall through */
2411 case 2008 : /* fall through */
2412 case 2009 : /* fall through */
2413 case 2010 : /* fall through */
2414 case 2011 : /* fall through */
2415 case 2012 : /* fall through */
2416 case 2013 : /* fall through */
2417 case 2014 : /* fall through */
2418 case 2015 : /* fall through */
2419 case 2024 : /* fall through */
2420 case 2025 : /* fall through */
2421 case 2026 : /* fall through */
2422 case 2027 : /* fall through */
2423 case 2028 : /* fall through */
2424 case 2029 : /* fall through */
2425 case 2030 : /* fall through */
2426 case 2031 : /* fall through */
2427 case 2040 : /* fall through */
2428 case 2041 : /* fall through */
2429 case 2042 : /* fall through */
2430 case 2043 : /* fall through */
2431 case 2044 : /* fall through */
2432 case 2045 : /* fall through */
2433 case 2046 : /* fall through */
2434 case 2047 : itype = XSTORMY16_INSN_SET1HMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
2435 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2441 /* The instruction has been decoded and fields extracted. */
2445 // FIXME: To be redone (to handle ISA variants).
2446 this->idesc = & xstormy16_idesc::idesc_table[itype];
2447 // ??? record semantic handler?
2448 assert(this->idesc->sem_index == itype);
2452 xstormy16_extract_sfmt_empty (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2453 xstormy16_insn_word insn = entire_insn;
2454 #define FLD(f) abuf->fields.fmt_empty.f
2457 /* Record the fields for the semantic handler. */
2458 if (UNLIKELY(current_cpu->trace_extract_p))
2460 current_cpu->trace_stream
2461 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
2469 xstormy16_extract_sfmt_movlmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2470 xstormy16_insn_word insn = entire_insn;
2471 #define FLD(f) abuf->fields.sfmt_movlmemimm.f
2476 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2477 f_lmem8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
2478 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
2480 /* Record the fields for the semantic handler. */
2481 FLD (f_imm16) = f_imm16;
2482 FLD (f_lmem8) = f_lmem8;
2483 FLD (f_op2m) = f_op2m;
2484 if (UNLIKELY(current_cpu->trace_extract_p))
2486 current_cpu->trace_stream
2487 << "0x" << hex << pc << dec << " (sfmt_movlmemimm)\t"
2488 << " f_imm16:0x" << hex << f_imm16 << dec
2489 << " f_lmem8:0x" << hex << f_lmem8 << dec
2490 << " f_op2m:0x" << hex << f_op2m << dec
2498 xstormy16_extract_sfmt_movhmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2499 xstormy16_insn_word insn = entire_insn;
2500 #define FLD(f) abuf->fields.sfmt_movhmemimm.f
2505 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2506 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 32, 8, 8)) + (32512));
2507 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
2509 /* Record the fields for the semantic handler. */
2510 FLD (f_hmem8) = f_hmem8;
2511 FLD (f_imm16) = f_imm16;
2512 FLD (f_op2m) = f_op2m;
2513 if (UNLIKELY(current_cpu->trace_extract_p))
2515 current_cpu->trace_stream
2516 << "0x" << hex << pc << dec << " (sfmt_movhmemimm)\t"
2517 << " f_hmem8:0x" << hex << f_hmem8 << dec
2518 << " f_imm16:0x" << hex << f_imm16 << dec
2519 << " f_op2m:0x" << hex << f_op2m << dec
2527 xstormy16_extract_sfmt_movlgrmem (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2528 xstormy16_insn_word insn = entire_insn;
2529 #define FLD(f) abuf->fields.sfmt_movlgrmem.f
2534 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
2535 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2536 f_lmem8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2538 /* Record the fields for the semantic handler. */
2540 FLD (f_lmem8) = f_lmem8;
2541 FLD (f_op2m) = f_op2m;
2542 if (UNLIKELY(current_cpu->trace_extract_p))
2544 current_cpu->trace_stream
2545 << "0x" << hex << pc << dec << " (sfmt_movlgrmem)\t"
2546 << " f_Rm:0x" << hex << f_Rm << dec
2547 << " f_lmem8:0x" << hex << f_lmem8 << dec
2548 << " f_op2m:0x" << hex << f_op2m << dec
2556 xstormy16_extract_sfmt_movhgrmem (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2557 xstormy16_insn_word insn = entire_insn;
2558 #define FLD(f) abuf->fields.sfmt_movhgrmem.f
2563 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
2564 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2565 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) + (32512));
2567 /* Record the fields for the semantic handler. */
2569 FLD (f_hmem8) = f_hmem8;
2570 FLD (f_op2m) = f_op2m;
2571 if (UNLIKELY(current_cpu->trace_extract_p))
2573 current_cpu->trace_stream
2574 << "0x" << hex << pc << dec << " (sfmt_movhgrmem)\t"
2575 << " f_Rm:0x" << hex << f_Rm << dec
2576 << " f_hmem8:0x" << hex << f_hmem8 << dec
2577 << " f_op2m:0x" << hex << f_op2m << dec
2585 xstormy16_extract_sfmt_movlmemgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2586 xstormy16_insn_word insn = entire_insn;
2587 #define FLD(f) abuf->fields.sfmt_movlgrmem.f
2592 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
2593 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2594 f_lmem8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2596 /* Record the fields for the semantic handler. */
2598 FLD (f_lmem8) = f_lmem8;
2599 FLD (f_op2m) = f_op2m;
2600 if (UNLIKELY(current_cpu->trace_extract_p))
2602 current_cpu->trace_stream
2603 << "0x" << hex << pc << dec << " (sfmt_movlmemgr)\t"
2604 << " f_Rm:0x" << hex << f_Rm << dec
2605 << " f_lmem8:0x" << hex << f_lmem8 << dec
2606 << " f_op2m:0x" << hex << f_op2m << dec
2614 xstormy16_extract_sfmt_movhmemgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2615 xstormy16_insn_word insn = entire_insn;
2616 #define FLD(f) abuf->fields.sfmt_movhgrmem.f
2621 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
2622 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2623 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) + (32512));
2625 /* Record the fields for the semantic handler. */
2627 FLD (f_hmem8) = f_hmem8;
2628 FLD (f_op2m) = f_op2m;
2629 if (UNLIKELY(current_cpu->trace_extract_p))
2631 current_cpu->trace_stream
2632 << "0x" << hex << pc << dec << " (sfmt_movhmemgr)\t"
2633 << " f_Rm:0x" << hex << f_Rm << dec
2634 << " f_hmem8:0x" << hex << f_hmem8 << dec
2635 << " f_op2m:0x" << hex << f_op2m << dec
2643 xstormy16_extract_sfmt_movgrgri (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2644 xstormy16_insn_word insn = entire_insn;
2645 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2650 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2651 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2652 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2654 /* Record the fields for the semantic handler. */
2656 FLD (f_Rdm) = f_Rdm;
2657 FLD (f_op2m) = f_op2m;
2658 if (UNLIKELY(current_cpu->trace_extract_p))
2660 current_cpu->trace_stream
2661 << "0x" << hex << pc << dec << " (sfmt_movgrgri)\t"
2662 << " f_Rs:0x" << hex << f_Rs << dec
2663 << " f_Rdm:0x" << hex << f_Rdm << dec
2664 << " f_op2m:0x" << hex << f_op2m << dec
2672 xstormy16_extract_sfmt_movgrgripostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2673 xstormy16_insn_word insn = entire_insn;
2674 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2679 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2680 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2681 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2683 /* Record the fields for the semantic handler. */
2685 FLD (f_Rdm) = f_Rdm;
2686 FLD (f_op2m) = f_op2m;
2687 if (UNLIKELY(current_cpu->trace_extract_p))
2689 current_cpu->trace_stream
2690 << "0x" << hex << pc << dec << " (sfmt_movgrgripostinc)\t"
2691 << " f_Rs:0x" << hex << f_Rs << dec
2692 << " f_Rdm:0x" << hex << f_Rdm << dec
2693 << " f_op2m:0x" << hex << f_op2m << dec
2701 xstormy16_extract_sfmt_movgrgripredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2702 xstormy16_insn_word insn = entire_insn;
2703 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2708 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2709 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2710 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2712 /* Record the fields for the semantic handler. */
2714 FLD (f_Rdm) = f_Rdm;
2715 FLD (f_op2m) = f_op2m;
2716 if (UNLIKELY(current_cpu->trace_extract_p))
2718 current_cpu->trace_stream
2719 << "0x" << hex << pc << dec << " (sfmt_movgrgripredec)\t"
2720 << " f_Rs:0x" << hex << f_Rs << dec
2721 << " f_Rdm:0x" << hex << f_Rdm << dec
2722 << " f_op2m:0x" << hex << f_op2m << dec
2730 xstormy16_extract_sfmt_movgrigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2731 xstormy16_insn_word insn = entire_insn;
2732 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2737 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2738 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2739 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2741 /* Record the fields for the semantic handler. */
2742 FLD (f_Rdm) = f_Rdm;
2744 FLD (f_op2m) = f_op2m;
2745 if (UNLIKELY(current_cpu->trace_extract_p))
2747 current_cpu->trace_stream
2748 << "0x" << hex << pc << dec << " (sfmt_movgrigr)\t"
2749 << " f_Rdm:0x" << hex << f_Rdm << dec
2750 << " f_Rs:0x" << hex << f_Rs << dec
2751 << " f_op2m:0x" << hex << f_op2m << dec
2759 xstormy16_extract_sfmt_movgripostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2760 xstormy16_insn_word insn = entire_insn;
2761 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2766 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2767 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2768 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2770 /* Record the fields for the semantic handler. */
2771 FLD (f_Rdm) = f_Rdm;
2773 FLD (f_op2m) = f_op2m;
2774 if (UNLIKELY(current_cpu->trace_extract_p))
2776 current_cpu->trace_stream
2777 << "0x" << hex << pc << dec << " (sfmt_movgripostincgr)\t"
2778 << " f_Rdm:0x" << hex << f_Rdm << dec
2779 << " f_Rs:0x" << hex << f_Rs << dec
2780 << " f_op2m:0x" << hex << f_op2m << dec
2788 xstormy16_extract_sfmt_movgripredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2789 xstormy16_insn_word insn = entire_insn;
2790 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2795 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2796 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2797 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2799 /* Record the fields for the semantic handler. */
2800 FLD (f_Rdm) = f_Rdm;
2802 FLD (f_op2m) = f_op2m;
2803 if (UNLIKELY(current_cpu->trace_extract_p))
2805 current_cpu->trace_stream
2806 << "0x" << hex << pc << dec << " (sfmt_movgripredecgr)\t"
2807 << " f_Rdm:0x" << hex << f_Rdm << dec
2808 << " f_Rs:0x" << hex << f_Rs << dec
2809 << " f_op2m:0x" << hex << f_op2m << dec
2817 xstormy16_extract_sfmt_movgrgrii (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2818 xstormy16_insn_word insn = entire_insn;
2819 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2825 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2826 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2827 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
2828 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
2830 /* Record the fields for the semantic handler. */
2832 FLD (f_Rdm) = f_Rdm;
2833 FLD (f_imm12) = f_imm12;
2834 FLD (f_op2m) = f_op2m;
2835 if (UNLIKELY(current_cpu->trace_extract_p))
2837 current_cpu->trace_stream
2838 << "0x" << hex << pc << dec << " (sfmt_movgrgrii)\t"
2839 << " f_Rs:0x" << hex << f_Rs << dec
2840 << " f_Rdm:0x" << hex << f_Rdm << dec
2841 << " f_imm12:0x" << hex << f_imm12 << dec
2842 << " f_op2m:0x" << hex << f_op2m << dec
2850 xstormy16_extract_sfmt_movgrgriipostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2851 xstormy16_insn_word insn = entire_insn;
2852 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2858 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2859 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2860 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
2861 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
2863 /* Record the fields for the semantic handler. */
2865 FLD (f_Rdm) = f_Rdm;
2866 FLD (f_imm12) = f_imm12;
2867 FLD (f_op2m) = f_op2m;
2868 if (UNLIKELY(current_cpu->trace_extract_p))
2870 current_cpu->trace_stream
2871 << "0x" << hex << pc << dec << " (sfmt_movgrgriipostinc)\t"
2872 << " f_Rs:0x" << hex << f_Rs << dec
2873 << " f_Rdm:0x" << hex << f_Rdm << dec
2874 << " f_imm12:0x" << hex << f_imm12 << dec
2875 << " f_op2m:0x" << hex << f_op2m << dec
2883 xstormy16_extract_sfmt_movgrgriipredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2884 xstormy16_insn_word insn = entire_insn;
2885 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2891 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2892 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2893 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
2894 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
2896 /* Record the fields for the semantic handler. */
2898 FLD (f_Rdm) = f_Rdm;
2899 FLD (f_imm12) = f_imm12;
2900 FLD (f_op2m) = f_op2m;
2901 if (UNLIKELY(current_cpu->trace_extract_p))
2903 current_cpu->trace_stream
2904 << "0x" << hex << pc << dec << " (sfmt_movgrgriipredec)\t"
2905 << " f_Rs:0x" << hex << f_Rs << dec
2906 << " f_Rdm:0x" << hex << f_Rdm << dec
2907 << " f_imm12:0x" << hex << f_imm12 << dec
2908 << " f_op2m:0x" << hex << f_op2m << dec
2916 xstormy16_extract_sfmt_movgriigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2917 xstormy16_insn_word insn = entire_insn;
2918 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2924 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2925 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2926 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
2927 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
2929 /* Record the fields for the semantic handler. */
2930 FLD (f_Rdm) = f_Rdm;
2932 FLD (f_imm12) = f_imm12;
2933 FLD (f_op2m) = f_op2m;
2934 if (UNLIKELY(current_cpu->trace_extract_p))
2936 current_cpu->trace_stream
2937 << "0x" << hex << pc << dec << " (sfmt_movgriigr)\t"
2938 << " f_Rdm:0x" << hex << f_Rdm << dec
2939 << " f_Rs:0x" << hex << f_Rs << dec
2940 << " f_imm12:0x" << hex << f_imm12 << dec
2941 << " f_op2m:0x" << hex << f_op2m << dec
2949 xstormy16_extract_sfmt_movgriipostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2950 xstormy16_insn_word insn = entire_insn;
2951 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2957 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2958 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2959 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
2960 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
2962 /* Record the fields for the semantic handler. */
2963 FLD (f_Rdm) = f_Rdm;
2965 FLD (f_imm12) = f_imm12;
2966 FLD (f_op2m) = f_op2m;
2967 if (UNLIKELY(current_cpu->trace_extract_p))
2969 current_cpu->trace_stream
2970 << "0x" << hex << pc << dec << " (sfmt_movgriipostincgr)\t"
2971 << " f_Rdm:0x" << hex << f_Rdm << dec
2972 << " f_Rs:0x" << hex << f_Rs << dec
2973 << " f_imm12:0x" << hex << f_imm12 << dec
2974 << " f_op2m:0x" << hex << f_op2m << dec
2982 xstormy16_extract_sfmt_movgriipredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2983 xstormy16_insn_word insn = entire_insn;
2984 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2990 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2991 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
2992 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
2993 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
2995 /* Record the fields for the semantic handler. */
2996 FLD (f_Rdm) = f_Rdm;
2998 FLD (f_imm12) = f_imm12;
2999 FLD (f_op2m) = f_op2m;
3000 if (UNLIKELY(current_cpu->trace_extract_p))
3002 current_cpu->trace_stream
3003 << "0x" << hex << pc << dec << " (sfmt_movgriipredecgr)\t"
3004 << " f_Rdm:0x" << hex << f_Rdm << dec
3005 << " f_Rs:0x" << hex << f_Rs << dec
3006 << " f_imm12:0x" << hex << f_imm12 << dec
3007 << " f_op2m:0x" << hex << f_op2m << dec
3015 xstormy16_extract_sfmt_movgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3016 xstormy16_insn_word insn = entire_insn;
3017 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3021 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3022 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3024 /* Record the fields for the semantic handler. */
3027 if (UNLIKELY(current_cpu->trace_extract_p))
3029 current_cpu->trace_stream
3030 << "0x" << hex << pc << dec << " (sfmt_movgrgr)\t"
3031 << " f_Rs:0x" << hex << f_Rs << dec
3032 << " f_Rd:0x" << hex << f_Rd << dec
3040 xstormy16_extract_sfmt_movwimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3041 xstormy16_insn_word insn = entire_insn;
3042 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
3045 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3047 /* Record the fields for the semantic handler. */
3048 FLD (f_imm8) = f_imm8;
3049 if (UNLIKELY(current_cpu->trace_extract_p))
3051 current_cpu->trace_stream
3052 << "0x" << hex << pc << dec << " (sfmt_movwimm8)\t"
3053 << " f_imm8:0x" << hex << f_imm8 << dec
3061 xstormy16_extract_sfmt_movwgrimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3062 xstormy16_insn_word insn = entire_insn;
3063 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
3067 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
3068 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3070 /* Record the fields for the semantic handler. */
3072 FLD (f_imm8) = f_imm8;
3073 if (UNLIKELY(current_cpu->trace_extract_p))
3075 current_cpu->trace_stream
3076 << "0x" << hex << pc << dec << " (sfmt_movwgrimm8)\t"
3077 << " f_Rm:0x" << hex << f_Rm << dec
3078 << " f_imm8:0x" << hex << f_imm8 << dec
3086 xstormy16_extract_sfmt_movwgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3087 xstormy16_insn_word insn = entire_insn;
3088 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
3092 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
3093 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3095 /* Record the fields for the semantic handler. */
3097 FLD (f_imm16) = f_imm16;
3098 if (UNLIKELY(current_cpu->trace_extract_p))
3100 current_cpu->trace_stream
3101 << "0x" << hex << pc << dec << " (sfmt_movwgrimm16)\t"
3102 << " f_Rd:0x" << hex << f_Rd << dec
3103 << " f_imm16:0x" << hex << f_imm16 << dec
3111 xstormy16_extract_sfmt_movlowgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3112 xstormy16_insn_word insn = entire_insn;
3113 #define FLD(f) abuf->fields.sfmt_jmp.f
3116 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3118 /* Record the fields for the semantic handler. */
3120 if (UNLIKELY(current_cpu->trace_extract_p))
3122 current_cpu->trace_stream
3123 << "0x" << hex << pc << dec << " (sfmt_movlowgr)\t"
3124 << " f_Rd:0x" << hex << f_Rd << dec
3132 xstormy16_extract_sfmt_movfgrgri (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3133 xstormy16_insn_word insn = entire_insn;
3134 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3139 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3140 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3141 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3143 /* Record the fields for the semantic handler. */
3145 FLD (f_Rdm) = f_Rdm;
3146 FLD (f_op2m) = f_op2m;
3147 if (UNLIKELY(current_cpu->trace_extract_p))
3149 current_cpu->trace_stream
3150 << "0x" << hex << pc << dec << " (sfmt_movfgrgri)\t"
3151 << " f_Rs:0x" << hex << f_Rs << dec
3152 << " f_Rdm:0x" << hex << f_Rdm << dec
3153 << " f_op2m:0x" << hex << f_op2m << dec
3161 xstormy16_extract_sfmt_movfgrgripostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3162 xstormy16_insn_word insn = entire_insn;
3163 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3168 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3169 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3170 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3172 /* Record the fields for the semantic handler. */
3174 FLD (f_Rdm) = f_Rdm;
3175 FLD (f_op2m) = f_op2m;
3176 if (UNLIKELY(current_cpu->trace_extract_p))
3178 current_cpu->trace_stream
3179 << "0x" << hex << pc << dec << " (sfmt_movfgrgripostinc)\t"
3180 << " f_Rs:0x" << hex << f_Rs << dec
3181 << " f_Rdm:0x" << hex << f_Rdm << dec
3182 << " f_op2m:0x" << hex << f_op2m << dec
3190 xstormy16_extract_sfmt_movfgrgripredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3191 xstormy16_insn_word insn = entire_insn;
3192 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3197 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3198 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3199 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3201 /* Record the fields for the semantic handler. */
3203 FLD (f_Rdm) = f_Rdm;
3204 FLD (f_op2m) = f_op2m;
3205 if (UNLIKELY(current_cpu->trace_extract_p))
3207 current_cpu->trace_stream
3208 << "0x" << hex << pc << dec << " (sfmt_movfgrgripredec)\t"
3209 << " f_Rs:0x" << hex << f_Rs << dec
3210 << " f_Rdm:0x" << hex << f_Rdm << dec
3211 << " f_op2m:0x" << hex << f_op2m << dec
3219 xstormy16_extract_sfmt_movfgrigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3220 xstormy16_insn_word insn = entire_insn;
3221 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3226 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3227 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3228 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3230 /* Record the fields for the semantic handler. */
3231 FLD (f_Rdm) = f_Rdm;
3233 FLD (f_op2m) = f_op2m;
3234 if (UNLIKELY(current_cpu->trace_extract_p))
3236 current_cpu->trace_stream
3237 << "0x" << hex << pc << dec << " (sfmt_movfgrigr)\t"
3238 << " f_Rdm:0x" << hex << f_Rdm << dec
3239 << " f_Rs:0x" << hex << f_Rs << dec
3240 << " f_op2m:0x" << hex << f_op2m << dec
3248 xstormy16_extract_sfmt_movfgripostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3249 xstormy16_insn_word insn = entire_insn;
3250 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3255 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3256 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3257 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3259 /* Record the fields for the semantic handler. */
3260 FLD (f_Rdm) = f_Rdm;
3262 FLD (f_op2m) = f_op2m;
3263 if (UNLIKELY(current_cpu->trace_extract_p))
3265 current_cpu->trace_stream
3266 << "0x" << hex << pc << dec << " (sfmt_movfgripostincgr)\t"
3267 << " f_Rdm:0x" << hex << f_Rdm << dec
3268 << " f_Rs:0x" << hex << f_Rs << dec
3269 << " f_op2m:0x" << hex << f_op2m << dec
3277 xstormy16_extract_sfmt_movfgripredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3278 xstormy16_insn_word insn = entire_insn;
3279 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3284 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3285 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3286 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3288 /* Record the fields for the semantic handler. */
3289 FLD (f_Rdm) = f_Rdm;
3291 FLD (f_op2m) = f_op2m;
3292 if (UNLIKELY(current_cpu->trace_extract_p))
3294 current_cpu->trace_stream
3295 << "0x" << hex << pc << dec << " (sfmt_movfgripredecgr)\t"
3296 << " f_Rdm:0x" << hex << f_Rdm << dec
3297 << " f_Rs:0x" << hex << f_Rs << dec
3298 << " f_op2m:0x" << hex << f_op2m << dec
3306 xstormy16_extract_sfmt_movfgrgrii (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3307 xstormy16_insn_word insn = entire_insn;
3308 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3315 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3316 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3317 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3318 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3319 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
3321 /* Record the fields for the semantic handler. */
3324 FLD (f_Rdm) = f_Rdm;
3325 FLD (f_imm12) = f_imm12;
3326 FLD (f_op2m) = f_op2m;
3327 if (UNLIKELY(current_cpu->trace_extract_p))
3329 current_cpu->trace_stream
3330 << "0x" << hex << pc << dec << " (sfmt_movfgrgrii)\t"
3331 << " f_Rb:0x" << hex << f_Rb << dec
3332 << " f_Rs:0x" << hex << f_Rs << dec
3333 << " f_Rdm:0x" << hex << f_Rdm << dec
3334 << " f_imm12:0x" << hex << f_imm12 << dec
3335 << " f_op2m:0x" << hex << f_op2m << dec
3343 xstormy16_extract_sfmt_movfgrgriipostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3344 xstormy16_insn_word insn = entire_insn;
3345 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3352 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3353 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3354 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3355 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3356 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
3358 /* Record the fields for the semantic handler. */
3361 FLD (f_Rdm) = f_Rdm;
3362 FLD (f_imm12) = f_imm12;
3363 FLD (f_op2m) = f_op2m;
3364 if (UNLIKELY(current_cpu->trace_extract_p))
3366 current_cpu->trace_stream
3367 << "0x" << hex << pc << dec << " (sfmt_movfgrgriipostinc)\t"
3368 << " f_Rb:0x" << hex << f_Rb << dec
3369 << " f_Rs:0x" << hex << f_Rs << dec
3370 << " f_Rdm:0x" << hex << f_Rdm << dec
3371 << " f_imm12:0x" << hex << f_imm12 << dec
3372 << " f_op2m:0x" << hex << f_op2m << dec
3380 xstormy16_extract_sfmt_movfgrgriipredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3381 xstormy16_insn_word insn = entire_insn;
3382 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3389 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3390 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3391 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3392 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3393 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
3395 /* Record the fields for the semantic handler. */
3398 FLD (f_Rdm) = f_Rdm;
3399 FLD (f_imm12) = f_imm12;
3400 FLD (f_op2m) = f_op2m;
3401 if (UNLIKELY(current_cpu->trace_extract_p))
3403 current_cpu->trace_stream
3404 << "0x" << hex << pc << dec << " (sfmt_movfgrgriipredec)\t"
3405 << " f_Rb:0x" << hex << f_Rb << dec
3406 << " f_Rs:0x" << hex << f_Rs << dec
3407 << " f_Rdm:0x" << hex << f_Rdm << dec
3408 << " f_imm12:0x" << hex << f_imm12 << dec
3409 << " f_op2m:0x" << hex << f_op2m << dec
3417 xstormy16_extract_sfmt_movfgriigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3418 xstormy16_insn_word insn = entire_insn;
3419 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3426 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3427 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3428 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3429 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3430 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
3432 /* Record the fields for the semantic handler. */
3434 FLD (f_Rdm) = f_Rdm;
3436 FLD (f_imm12) = f_imm12;
3437 FLD (f_op2m) = f_op2m;
3438 if (UNLIKELY(current_cpu->trace_extract_p))
3440 current_cpu->trace_stream
3441 << "0x" << hex << pc << dec << " (sfmt_movfgriigr)\t"
3442 << " f_Rb:0x" << hex << f_Rb << dec
3443 << " f_Rdm:0x" << hex << f_Rdm << dec
3444 << " f_Rs:0x" << hex << f_Rs << dec
3445 << " f_imm12:0x" << hex << f_imm12 << dec
3446 << " f_op2m:0x" << hex << f_op2m << dec
3454 xstormy16_extract_sfmt_movfgriipostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3455 xstormy16_insn_word insn = entire_insn;
3456 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3463 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3464 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3465 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3466 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3467 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
3469 /* Record the fields for the semantic handler. */
3471 FLD (f_Rdm) = f_Rdm;
3473 FLD (f_imm12) = f_imm12;
3474 FLD (f_op2m) = f_op2m;
3475 if (UNLIKELY(current_cpu->trace_extract_p))
3477 current_cpu->trace_stream
3478 << "0x" << hex << pc << dec << " (sfmt_movfgriipostincgr)\t"
3479 << " f_Rb:0x" << hex << f_Rb << dec
3480 << " f_Rdm:0x" << hex << f_Rdm << dec
3481 << " f_Rs:0x" << hex << f_Rs << dec
3482 << " f_imm12:0x" << hex << f_imm12 << dec
3483 << " f_op2m:0x" << hex << f_op2m << dec
3491 xstormy16_extract_sfmt_movfgriipredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3492 xstormy16_insn_word insn = entire_insn;
3493 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3500 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3501 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3502 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3503 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3504 f_imm12 = EXTRACT_MSB0_INT (insn, 32, 20, 12);
3506 /* Record the fields for the semantic handler. */
3508 FLD (f_Rdm) = f_Rdm;
3510 FLD (f_imm12) = f_imm12;
3511 FLD (f_op2m) = f_op2m;
3512 if (UNLIKELY(current_cpu->trace_extract_p))
3514 current_cpu->trace_stream
3515 << "0x" << hex << pc << dec << " (sfmt_movfgriipredecgr)\t"
3516 << " f_Rb:0x" << hex << f_Rb << dec
3517 << " f_Rdm:0x" << hex << f_Rdm << dec
3518 << " f_Rs:0x" << hex << f_Rs << dec
3519 << " f_imm12:0x" << hex << f_imm12 << dec
3520 << " f_op2m:0x" << hex << f_op2m << dec
3528 xstormy16_extract_sfmt_maskgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3529 xstormy16_insn_word insn = entire_insn;
3530 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3534 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3535 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3537 /* Record the fields for the semantic handler. */
3540 if (UNLIKELY(current_cpu->trace_extract_p))
3542 current_cpu->trace_stream
3543 << "0x" << hex << pc << dec << " (sfmt_maskgrgr)\t"
3544 << " f_Rd:0x" << hex << f_Rd << dec
3545 << " f_Rs:0x" << hex << f_Rs << dec
3553 xstormy16_extract_sfmt_maskgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3554 xstormy16_insn_word insn = entire_insn;
3555 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
3559 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
3560 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3562 /* Record the fields for the semantic handler. */
3564 FLD (f_imm16) = f_imm16;
3565 if (UNLIKELY(current_cpu->trace_extract_p))
3567 current_cpu->trace_stream
3568 << "0x" << hex << pc << dec << " (sfmt_maskgrimm16)\t"
3569 << " f_Rd:0x" << hex << f_Rd << dec
3570 << " f_imm16:0x" << hex << f_imm16 << dec
3578 xstormy16_extract_sfmt_pushgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3579 xstormy16_insn_word insn = entire_insn;
3580 #define FLD(f) abuf->fields.sfmt_jmp.f
3583 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3585 /* Record the fields for the semantic handler. */
3587 if (UNLIKELY(current_cpu->trace_extract_p))
3589 current_cpu->trace_stream
3590 << "0x" << hex << pc << dec << " (sfmt_pushgr)\t"
3591 << " f_Rd:0x" << hex << f_Rd << dec
3599 xstormy16_extract_sfmt_popgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3600 xstormy16_insn_word insn = entire_insn;
3601 #define FLD(f) abuf->fields.sfmt_jmp.f
3604 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3606 /* Record the fields for the semantic handler. */
3608 if (UNLIKELY(current_cpu->trace_extract_p))
3610 current_cpu->trace_stream
3611 << "0x" << hex << pc << dec << " (sfmt_popgr)\t"
3612 << " f_Rd:0x" << hex << f_Rd << dec
3620 xstormy16_extract_sfmt_swpn (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3621 xstormy16_insn_word insn = entire_insn;
3622 #define FLD(f) abuf->fields.sfmt_jmp.f
3625 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3627 /* Record the fields for the semantic handler. */
3629 if (UNLIKELY(current_cpu->trace_extract_p))
3631 current_cpu->trace_stream
3632 << "0x" << hex << pc << dec << " (sfmt_swpn)\t"
3633 << " f_Rd:0x" << hex << f_Rd << dec
3641 xstormy16_extract_sfmt_swpw (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3642 xstormy16_insn_word insn = entire_insn;
3643 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3647 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3648 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3650 /* Record the fields for the semantic handler. */
3653 if (UNLIKELY(current_cpu->trace_extract_p))
3655 current_cpu->trace_stream
3656 << "0x" << hex << pc << dec << " (sfmt_swpw)\t"
3657 << " f_Rd:0x" << hex << f_Rd << dec
3658 << " f_Rs:0x" << hex << f_Rs << dec
3666 xstormy16_extract_sfmt_andgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3667 xstormy16_insn_word insn = entire_insn;
3668 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3672 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3673 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3675 /* Record the fields for the semantic handler. */
3678 if (UNLIKELY(current_cpu->trace_extract_p))
3680 current_cpu->trace_stream
3681 << "0x" << hex << pc << dec << " (sfmt_andgrgr)\t"
3682 << " f_Rd:0x" << hex << f_Rd << dec
3683 << " f_Rs:0x" << hex << f_Rs << dec
3691 xstormy16_extract_sfmt_andimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3692 xstormy16_insn_word insn = entire_insn;
3693 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
3696 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3698 /* Record the fields for the semantic handler. */
3699 FLD (f_imm8) = f_imm8;
3700 if (UNLIKELY(current_cpu->trace_extract_p))
3702 current_cpu->trace_stream
3703 << "0x" << hex << pc << dec << " (sfmt_andimm8)\t"
3704 << " f_imm8:0x" << hex << f_imm8 << dec
3712 xstormy16_extract_sfmt_andgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3713 xstormy16_insn_word insn = entire_insn;
3714 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
3718 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
3719 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3721 /* Record the fields for the semantic handler. */
3723 FLD (f_imm16) = f_imm16;
3724 if (UNLIKELY(current_cpu->trace_extract_p))
3726 current_cpu->trace_stream
3727 << "0x" << hex << pc << dec << " (sfmt_andgrimm16)\t"
3728 << " f_Rd:0x" << hex << f_Rd << dec
3729 << " f_imm16:0x" << hex << f_imm16 << dec
3737 xstormy16_extract_sfmt_addgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3738 xstormy16_insn_word insn = entire_insn;
3739 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3743 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3744 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3746 /* Record the fields for the semantic handler. */
3749 if (UNLIKELY(current_cpu->trace_extract_p))
3751 current_cpu->trace_stream
3752 << "0x" << hex << pc << dec << " (sfmt_addgrgr)\t"
3753 << " f_Rd:0x" << hex << f_Rd << dec
3754 << " f_Rs:0x" << hex << f_Rs << dec
3762 xstormy16_extract_sfmt_addgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3763 xstormy16_insn_word insn = entire_insn;
3764 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
3768 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3769 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3771 /* Record the fields for the semantic handler. */
3773 FLD (f_imm4) = f_imm4;
3774 if (UNLIKELY(current_cpu->trace_extract_p))
3776 current_cpu->trace_stream
3777 << "0x" << hex << pc << dec << " (sfmt_addgrimm4)\t"
3778 << " f_Rd:0x" << hex << f_Rd << dec
3779 << " f_imm4:0x" << hex << f_imm4 << dec
3787 xstormy16_extract_sfmt_addimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3788 xstormy16_insn_word insn = entire_insn;
3789 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
3792 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3794 /* Record the fields for the semantic handler. */
3795 FLD (f_imm8) = f_imm8;
3796 if (UNLIKELY(current_cpu->trace_extract_p))
3798 current_cpu->trace_stream
3799 << "0x" << hex << pc << dec << " (sfmt_addimm8)\t"
3800 << " f_imm8:0x" << hex << f_imm8 << dec
3808 xstormy16_extract_sfmt_addgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3809 xstormy16_insn_word insn = entire_insn;
3810 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
3814 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
3815 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3817 /* Record the fields for the semantic handler. */
3819 FLD (f_imm16) = f_imm16;
3820 if (UNLIKELY(current_cpu->trace_extract_p))
3822 current_cpu->trace_stream
3823 << "0x" << hex << pc << dec << " (sfmt_addgrimm16)\t"
3824 << " f_Rd:0x" << hex << f_Rd << dec
3825 << " f_imm16:0x" << hex << f_imm16 << dec
3833 xstormy16_extract_sfmt_adcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3834 xstormy16_insn_word insn = entire_insn;
3835 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3839 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3840 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3842 /* Record the fields for the semantic handler. */
3845 if (UNLIKELY(current_cpu->trace_extract_p))
3847 current_cpu->trace_stream
3848 << "0x" << hex << pc << dec << " (sfmt_adcgrgr)\t"
3849 << " f_Rd:0x" << hex << f_Rd << dec
3850 << " f_Rs:0x" << hex << f_Rs << dec
3858 xstormy16_extract_sfmt_adcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3859 xstormy16_insn_word insn = entire_insn;
3860 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
3864 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3865 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3867 /* Record the fields for the semantic handler. */
3869 FLD (f_imm4) = f_imm4;
3870 if (UNLIKELY(current_cpu->trace_extract_p))
3872 current_cpu->trace_stream
3873 << "0x" << hex << pc << dec << " (sfmt_adcgrimm4)\t"
3874 << " f_Rd:0x" << hex << f_Rd << dec
3875 << " f_imm4:0x" << hex << f_imm4 << dec
3883 xstormy16_extract_sfmt_adcimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3884 xstormy16_insn_word insn = entire_insn;
3885 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
3888 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3890 /* Record the fields for the semantic handler. */
3891 FLD (f_imm8) = f_imm8;
3892 if (UNLIKELY(current_cpu->trace_extract_p))
3894 current_cpu->trace_stream
3895 << "0x" << hex << pc << dec << " (sfmt_adcimm8)\t"
3896 << " f_imm8:0x" << hex << f_imm8 << dec
3904 xstormy16_extract_sfmt_adcgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3905 xstormy16_insn_word insn = entire_insn;
3906 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
3910 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
3911 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3913 /* Record the fields for the semantic handler. */
3915 FLD (f_imm16) = f_imm16;
3916 if (UNLIKELY(current_cpu->trace_extract_p))
3918 current_cpu->trace_stream
3919 << "0x" << hex << pc << dec << " (sfmt_adcgrimm16)\t"
3920 << " f_Rd:0x" << hex << f_Rd << dec
3921 << " f_imm16:0x" << hex << f_imm16 << dec
3929 xstormy16_extract_sfmt_incgrimm2 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3930 xstormy16_insn_word insn = entire_insn;
3931 #define FLD(f) abuf->fields.sfmt_incgrimm2.f
3935 f_imm2 = EXTRACT_MSB0_UINT (insn, 16, 10, 2);
3936 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3938 /* Record the fields for the semantic handler. */
3940 FLD (f_imm2) = f_imm2;
3941 if (UNLIKELY(current_cpu->trace_extract_p))
3943 current_cpu->trace_stream
3944 << "0x" << hex << pc << dec << " (sfmt_incgrimm2)\t"
3945 << " f_Rd:0x" << hex << f_Rd << dec
3946 << " f_imm2:0x" << hex << f_imm2 << dec
3954 xstormy16_extract_sfmt_rrcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3955 xstormy16_insn_word insn = entire_insn;
3956 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3960 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3961 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3963 /* Record the fields for the semantic handler. */
3966 if (UNLIKELY(current_cpu->trace_extract_p))
3968 current_cpu->trace_stream
3969 << "0x" << hex << pc << dec << " (sfmt_rrcgrgr)\t"
3970 << " f_Rd:0x" << hex << f_Rd << dec
3971 << " f_Rs:0x" << hex << f_Rs << dec
3979 xstormy16_extract_sfmt_rrcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3980 xstormy16_insn_word insn = entire_insn;
3981 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
3985 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3986 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3988 /* Record the fields for the semantic handler. */
3990 FLD (f_imm4) = f_imm4;
3991 if (UNLIKELY(current_cpu->trace_extract_p))
3993 current_cpu->trace_stream
3994 << "0x" << hex << pc << dec << " (sfmt_rrcgrimm4)\t"
3995 << " f_Rd:0x" << hex << f_Rd << dec
3996 << " f_imm4:0x" << hex << f_imm4 << dec
4004 xstormy16_extract_sfmt_shrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4005 xstormy16_insn_word insn = entire_insn;
4006 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
4010 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4011 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4013 /* Record the fields for the semantic handler. */
4016 if (UNLIKELY(current_cpu->trace_extract_p))
4018 current_cpu->trace_stream
4019 << "0x" << hex << pc << dec << " (sfmt_shrgrgr)\t"
4020 << " f_Rd:0x" << hex << f_Rd << dec
4021 << " f_Rs:0x" << hex << f_Rs << dec
4029 xstormy16_extract_sfmt_shrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4030 xstormy16_insn_word insn = entire_insn;
4031 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
4035 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4036 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4038 /* Record the fields for the semantic handler. */
4040 FLD (f_imm4) = f_imm4;
4041 if (UNLIKELY(current_cpu->trace_extract_p))
4043 current_cpu->trace_stream
4044 << "0x" << hex << pc << dec << " (sfmt_shrgrimm)\t"
4045 << " f_Rd:0x" << hex << f_Rd << dec
4046 << " f_imm4:0x" << hex << f_imm4 << dec
4054 xstormy16_extract_sfmt_asrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4055 xstormy16_insn_word insn = entire_insn;
4056 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
4060 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4061 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4063 /* Record the fields for the semantic handler. */
4066 if (UNLIKELY(current_cpu->trace_extract_p))
4068 current_cpu->trace_stream
4069 << "0x" << hex << pc << dec << " (sfmt_asrgrgr)\t"
4070 << " f_Rd:0x" << hex << f_Rd << dec
4071 << " f_Rs:0x" << hex << f_Rs << dec
4079 xstormy16_extract_sfmt_asrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4080 xstormy16_insn_word insn = entire_insn;
4081 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
4085 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4086 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4088 /* Record the fields for the semantic handler. */
4090 FLD (f_imm4) = f_imm4;
4091 if (UNLIKELY(current_cpu->trace_extract_p))
4093 current_cpu->trace_stream
4094 << "0x" << hex << pc << dec << " (sfmt_asrgrimm)\t"
4095 << " f_Rd:0x" << hex << f_Rd << dec
4096 << " f_imm4:0x" << hex << f_imm4 << dec
4104 xstormy16_extract_sfmt_set1grimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4105 xstormy16_insn_word insn = entire_insn;
4106 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
4110 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4111 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4113 /* Record the fields for the semantic handler. */
4115 FLD (f_imm4) = f_imm4;
4116 if (UNLIKELY(current_cpu->trace_extract_p))
4118 current_cpu->trace_stream
4119 << "0x" << hex << pc << dec << " (sfmt_set1grimm)\t"
4120 << " f_Rd:0x" << hex << f_Rd << dec
4121 << " f_imm4:0x" << hex << f_imm4 << dec
4129 xstormy16_extract_sfmt_set1lmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4130 xstormy16_insn_word insn = entire_insn;
4131 #define FLD(f) abuf->fields.sfmt_set1lmemimm.f
4135 f_imm3 = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
4136 f_lmem8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4138 /* Record the fields for the semantic handler. */
4139 FLD (f_imm3) = f_imm3;
4140 FLD (f_lmem8) = f_lmem8;
4141 if (UNLIKELY(current_cpu->trace_extract_p))
4143 current_cpu->trace_stream
4144 << "0x" << hex << pc << dec << " (sfmt_set1lmemimm)\t"
4145 << " f_imm3:0x" << hex << f_imm3 << dec
4146 << " f_lmem8:0x" << hex << f_lmem8 << dec
4154 xstormy16_extract_sfmt_set1hmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4155 xstormy16_insn_word insn = entire_insn;
4156 #define FLD(f) abuf->fields.sfmt_set1hmemimm.f
4160 f_imm3 = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
4161 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) + (32512));
4163 /* Record the fields for the semantic handler. */
4164 FLD (f_hmem8) = f_hmem8;
4165 FLD (f_imm3) = f_imm3;
4166 if (UNLIKELY(current_cpu->trace_extract_p))
4168 current_cpu->trace_stream
4169 << "0x" << hex << pc << dec << " (sfmt_set1hmemimm)\t"
4170 << " f_hmem8:0x" << hex << f_hmem8 << dec
4171 << " f_imm3:0x" << hex << f_imm3 << dec
4179 xstormy16_extract_sfmt_bccgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4180 xstormy16_insn_word insn = entire_insn;
4181 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
4187 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4188 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
4189 f_op5 = EXTRACT_MSB0_UINT (insn, 32, 16, 4);
4190 f_rel12 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) + (((pc) + (4))));
4192 /* Record the fields for the semantic handler. */
4195 FLD (f_op5) = f_op5;
4196 FLD (f_rel12) = f_rel12;
4197 if (UNLIKELY(current_cpu->trace_extract_p))
4199 current_cpu->trace_stream
4200 << "0x" << hex << pc << dec << " (sfmt_bccgrgr)\t"
4201 << " f_Rd:0x" << hex << f_Rd << dec
4202 << " f_Rs:0x" << hex << f_Rs << dec
4203 << " f_op5:0x" << hex << f_op5 << dec
4204 << " f_rel12:0x" << hex << f_rel12 << dec
4212 xstormy16_extract_sfmt_bccgrimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4213 xstormy16_insn_word insn = entire_insn;
4214 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
4220 f_Rm = EXTRACT_MSB0_UINT (insn, 32, 4, 3);
4221 f_imm8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4222 f_op5 = EXTRACT_MSB0_UINT (insn, 32, 16, 4);
4223 f_rel12 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) + (((pc) + (4))));
4225 /* Record the fields for the semantic handler. */
4227 FLD (f_op5) = f_op5;
4228 FLD (f_imm8) = f_imm8;
4229 FLD (f_rel12) = f_rel12;
4230 if (UNLIKELY(current_cpu->trace_extract_p))
4232 current_cpu->trace_stream
4233 << "0x" << hex << pc << dec << " (sfmt_bccgrimm8)\t"
4234 << " f_Rm:0x" << hex << f_Rm << dec
4235 << " f_op5:0x" << hex << f_op5 << dec
4236 << " f_imm8:0x" << hex << f_imm8 << dec
4237 << " f_rel12:0x" << hex << f_rel12 << dec
4245 xstormy16_extract_sfmt_bccimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4246 xstormy16_insn_word insn = entire_insn;
4247 #define FLD(f) abuf->fields.sfmt_bccimm16.f
4252 f_op2 = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4253 f_rel8_4 = ((EXTRACT_MSB0_INT (insn, 32, 8, 8)) + (((pc) + (4))));
4254 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4256 /* Record the fields for the semantic handler. */
4257 FLD (f_op2) = f_op2;
4258 FLD (f_imm16) = f_imm16;
4259 FLD (f_rel8_4) = f_rel8_4;
4260 if (UNLIKELY(current_cpu->trace_extract_p))
4262 current_cpu->trace_stream
4263 << "0x" << hex << pc << dec << " (sfmt_bccimm16)\t"
4264 << " f_op2:0x" << hex << f_op2 << dec
4265 << " f_imm16:0x" << hex << f_imm16 << dec
4266 << " f_rel8_4:0x" << hex << f_rel8_4 << dec
4274 xstormy16_extract_sfmt_bngrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4275 xstormy16_insn_word insn = entire_insn;
4276 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
4281 f_imm4 = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4282 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
4283 f_rel12 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) + (((pc) + (4))));
4285 /* Record the fields for the semantic handler. */
4287 FLD (f_imm4) = f_imm4;
4288 FLD (f_rel12) = f_rel12;
4289 if (UNLIKELY(current_cpu->trace_extract_p))
4291 current_cpu->trace_stream
4292 << "0x" << hex << pc << dec << " (sfmt_bngrimm4)\t"
4293 << " f_Rd:0x" << hex << f_Rd << dec
4294 << " f_imm4:0x" << hex << f_imm4 << dec
4295 << " f_rel12:0x" << hex << f_rel12 << dec
4303 xstormy16_extract_sfmt_bngrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4304 xstormy16_insn_word insn = entire_insn;
4305 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
4310 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4311 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
4312 f_rel12 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) + (((pc) + (4))));
4314 /* Record the fields for the semantic handler. */
4317 FLD (f_rel12) = f_rel12;
4318 if (UNLIKELY(current_cpu->trace_extract_p))
4320 current_cpu->trace_stream
4321 << "0x" << hex << pc << dec << " (sfmt_bngrgr)\t"
4322 << " f_Rd:0x" << hex << f_Rd << dec
4323 << " f_Rs:0x" << hex << f_Rs << dec
4324 << " f_rel12:0x" << hex << f_rel12 << dec
4332 xstormy16_extract_sfmt_bnlmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4333 xstormy16_insn_word insn = entire_insn;
4334 #define FLD(f) abuf->fields.sfmt_bnlmemimm.f
4339 f_lmem8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4340 f_imm3b = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
4341 f_rel12 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) + (((pc) + (4))));
4343 /* Record the fields for the semantic handler. */
4344 FLD (f_imm3b) = f_imm3b;
4345 FLD (f_lmem8) = f_lmem8;
4346 FLD (f_rel12) = f_rel12;
4347 if (UNLIKELY(current_cpu->trace_extract_p))
4349 current_cpu->trace_stream
4350 << "0x" << hex << pc << dec << " (sfmt_bnlmemimm)\t"
4351 << " f_imm3b:0x" << hex << f_imm3b << dec
4352 << " f_lmem8:0x" << hex << f_lmem8 << dec
4353 << " f_rel12:0x" << hex << f_rel12 << dec
4361 xstormy16_extract_sfmt_bnhmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4362 xstormy16_insn_word insn = entire_insn;
4363 #define FLD(f) abuf->fields.sfmt_bnhmemimm.f
4368 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 32, 8, 8)) + (32512));
4369 f_imm3b = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
4370 f_rel12 = ((EXTRACT_MSB0_INT (insn, 32, 20, 12)) + (((pc) + (4))));
4372 /* Record the fields for the semantic handler. */
4373 FLD (f_hmem8) = f_hmem8;
4374 FLD (f_imm3b) = f_imm3b;
4375 FLD (f_rel12) = f_rel12;
4376 if (UNLIKELY(current_cpu->trace_extract_p))
4378 current_cpu->trace_stream
4379 << "0x" << hex << pc << dec << " (sfmt_bnhmemimm)\t"
4380 << " f_hmem8:0x" << hex << f_hmem8 << dec
4381 << " f_imm3b:0x" << hex << f_imm3b << dec
4382 << " f_rel12:0x" << hex << f_rel12 << dec
4390 xstormy16_extract_sfmt_bcc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4391 xstormy16_insn_word insn = entire_insn;
4392 #define FLD(f) abuf->fields.sfmt_bcc.f
4396 f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4397 f_rel8_2 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) + (((pc) + (2))));
4399 /* Record the fields for the semantic handler. */
4400 FLD (f_op2) = f_op2;
4401 FLD (f_rel8_2) = f_rel8_2;
4402 if (UNLIKELY(current_cpu->trace_extract_p))
4404 current_cpu->trace_stream
4405 << "0x" << hex << pc << dec << " (sfmt_bcc)\t"
4406 << " f_op2:0x" << hex << f_op2 << dec
4407 << " f_rel8_2:0x" << hex << f_rel8_2 << dec
4415 xstormy16_extract_sfmt_bgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4416 xstormy16_insn_word insn = entire_insn;
4417 #define FLD(f) abuf->fields.sfmt_jmp.f
4420 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4422 /* Record the fields for the semantic handler. */
4424 if (UNLIKELY(current_cpu->trace_extract_p))
4426 current_cpu->trace_stream
4427 << "0x" << hex << pc << dec << " (sfmt_bgr)\t"
4428 << " f_Rd:0x" << hex << f_Rd << dec
4436 xstormy16_extract_sfmt_br (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4437 xstormy16_insn_word insn = entire_insn;
4438 #define FLD(f) abuf->fields.sfmt_br.f
4441 f_rel12a = ((((EXTRACT_MSB0_INT (insn, 16, 4, 11)) << (1))) + (((pc) + (2))));
4443 /* Record the fields for the semantic handler. */
4444 FLD (f_rel12a) = f_rel12a;
4445 if (UNLIKELY(current_cpu->trace_extract_p))
4447 current_cpu->trace_stream
4448 << "0x" << hex << pc << dec << " (sfmt_br)\t"
4449 << " f_rel12a:0x" << hex << f_rel12a << dec
4457 xstormy16_extract_sfmt_jmp (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4458 xstormy16_insn_word insn = entire_insn;
4459 #define FLD(f) abuf->fields.sfmt_jmp.f
4463 f_Rbj = EXTRACT_MSB0_UINT (insn, 16, 11, 1);
4464 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4466 /* Record the fields for the semantic handler. */
4467 FLD (f_Rbj) = f_Rbj;
4469 if (UNLIKELY(current_cpu->trace_extract_p))
4471 current_cpu->trace_stream
4472 << "0x" << hex << pc << dec << " (sfmt_jmp)\t"
4473 << " f_Rbj:0x" << hex << f_Rbj << dec
4474 << " f_Rd:0x" << hex << f_Rd << dec
4482 xstormy16_extract_sfmt_jmpf (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4483 xstormy16_insn_word insn = entire_insn;
4484 #define FLD(f) abuf->fields.sfmt_jmpf.f
4489 f_abs24_1 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4490 f_abs24_2 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4491 f_abs24 = ((((f_abs24_2) << (8))) | (f_abs24_1));
4493 /* Record the fields for the semantic handler. */
4494 FLD (f_abs24) = f_abs24;
4495 if (UNLIKELY(current_cpu->trace_extract_p))
4497 current_cpu->trace_stream
4498 << "0x" << hex << pc << dec << " (sfmt_jmpf)\t"
4499 << " f_abs24:0x" << hex << f_abs24 << dec
4507 xstormy16_extract_sfmt_callrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4508 xstormy16_insn_word insn = entire_insn;
4509 #define FLD(f) abuf->fields.sfmt_jmp.f
4512 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4514 /* Record the fields for the semantic handler. */
4516 if (UNLIKELY(current_cpu->trace_extract_p))
4518 current_cpu->trace_stream
4519 << "0x" << hex << pc << dec << " (sfmt_callrgr)\t"
4520 << " f_Rd:0x" << hex << f_Rd << dec
4528 xstormy16_extract_sfmt_callrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4529 xstormy16_insn_word insn = entire_insn;
4530 #define FLD(f) abuf->fields.sfmt_br.f
4533 f_rel12a = ((((EXTRACT_MSB0_INT (insn, 16, 4, 11)) << (1))) + (((pc) + (2))));
4535 /* Record the fields for the semantic handler. */
4536 FLD (f_rel12a) = f_rel12a;
4537 if (UNLIKELY(current_cpu->trace_extract_p))
4539 current_cpu->trace_stream
4540 << "0x" << hex << pc << dec << " (sfmt_callrimm)\t"
4541 << " f_rel12a:0x" << hex << f_rel12a << dec
4549 xstormy16_extract_sfmt_callgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4550 xstormy16_insn_word insn = entire_insn;
4551 #define FLD(f) abuf->fields.sfmt_jmp.f
4555 f_Rbj = EXTRACT_MSB0_UINT (insn, 16, 11, 1);
4556 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4558 /* Record the fields for the semantic handler. */
4559 FLD (f_Rbj) = f_Rbj;
4561 if (UNLIKELY(current_cpu->trace_extract_p))
4563 current_cpu->trace_stream
4564 << "0x" << hex << pc << dec << " (sfmt_callgr)\t"
4565 << " f_Rbj:0x" << hex << f_Rbj << dec
4566 << " f_Rd:0x" << hex << f_Rd << dec
4574 xstormy16_extract_sfmt_callfimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4575 xstormy16_insn_word insn = entire_insn;
4576 #define FLD(f) abuf->fields.sfmt_jmpf.f
4581 f_abs24_1 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4582 f_abs24_2 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4583 f_abs24 = ((((f_abs24_2) << (8))) | (f_abs24_1));
4585 /* Record the fields for the semantic handler. */
4586 FLD (f_abs24) = f_abs24;
4587 if (UNLIKELY(current_cpu->trace_extract_p))
4589 current_cpu->trace_stream
4590 << "0x" << hex << pc << dec << " (sfmt_callfimm)\t"
4591 << " f_abs24:0x" << hex << f_abs24 << dec
4599 xstormy16_extract_sfmt_icallrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4600 xstormy16_insn_word insn = entire_insn;
4601 #define FLD(f) abuf->fields.sfmt_jmp.f
4604 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4606 /* Record the fields for the semantic handler. */
4608 if (UNLIKELY(current_cpu->trace_extract_p))
4610 current_cpu->trace_stream
4611 << "0x" << hex << pc << dec << " (sfmt_icallrgr)\t"
4612 << " f_Rd:0x" << hex << f_Rd << dec
4620 xstormy16_extract_sfmt_icallgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4621 xstormy16_insn_word insn = entire_insn;
4622 #define FLD(f) abuf->fields.sfmt_jmp.f
4626 f_Rbj = EXTRACT_MSB0_UINT (insn, 16, 11, 1);
4627 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4629 /* Record the fields for the semantic handler. */
4630 FLD (f_Rbj) = f_Rbj;
4632 if (UNLIKELY(current_cpu->trace_extract_p))
4634 current_cpu->trace_stream
4635 << "0x" << hex << pc << dec << " (sfmt_icallgr)\t"
4636 << " f_Rbj:0x" << hex << f_Rbj << dec
4637 << " f_Rd:0x" << hex << f_Rd << dec
4645 xstormy16_extract_sfmt_icallfimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4646 xstormy16_insn_word insn = entire_insn;
4647 #define FLD(f) abuf->fields.sfmt_jmpf.f
4652 f_abs24_1 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4653 f_abs24_2 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4654 f_abs24 = ((((f_abs24_2) << (8))) | (f_abs24_1));
4656 /* Record the fields for the semantic handler. */
4657 FLD (f_abs24) = f_abs24;
4658 if (UNLIKELY(current_cpu->trace_extract_p))
4660 current_cpu->trace_stream
4661 << "0x" << hex << pc << dec << " (sfmt_icallfimm)\t"
4662 << " f_abs24:0x" << hex << f_abs24 << dec
4670 xstormy16_extract_sfmt_iret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4671 xstormy16_insn_word insn = entire_insn;
4672 #define FLD(f) abuf->fields.fmt_empty.f
4675 /* Record the fields for the semantic handler. */
4676 if (UNLIKELY(current_cpu->trace_extract_p))
4678 current_cpu->trace_stream
4679 << "0x" << hex << pc << dec << " (sfmt_iret)\t"
4687 xstormy16_extract_sfmt_ret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4688 xstormy16_insn_word insn = entire_insn;
4689 #define FLD(f) abuf->fields.fmt_empty.f
4692 /* Record the fields for the semantic handler. */
4693 if (UNLIKELY(current_cpu->trace_extract_p))
4695 current_cpu->trace_stream
4696 << "0x" << hex << pc << dec << " (sfmt_ret)\t"
4704 xstormy16_extract_sfmt_mul (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4705 xstormy16_insn_word insn = entire_insn;
4706 #define FLD(f) abuf->fields.fmt_empty.f
4709 /* Record the fields for the semantic handler. */
4710 if (UNLIKELY(current_cpu->trace_extract_p))
4712 current_cpu->trace_stream
4713 << "0x" << hex << pc << dec << " (sfmt_mul)\t"
4721 xstormy16_extract_sfmt_sdiv (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4722 xstormy16_insn_word insn = entire_insn;
4723 #define FLD(f) abuf->fields.fmt_empty.f
4726 /* Record the fields for the semantic handler. */
4727 if (UNLIKELY(current_cpu->trace_extract_p))
4729 current_cpu->trace_stream
4730 << "0x" << hex << pc << dec << " (sfmt_sdiv)\t"
4738 xstormy16_extract_sfmt_sdivlh (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4739 xstormy16_insn_word insn = entire_insn;
4740 #define FLD(f) abuf->fields.fmt_empty.f
4743 /* Record the fields for the semantic handler. */
4744 if (UNLIKELY(current_cpu->trace_extract_p))
4746 current_cpu->trace_stream
4747 << "0x" << hex << pc << dec << " (sfmt_sdivlh)\t"
4755 xstormy16_extract_sfmt_reset (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4756 xstormy16_insn_word insn = entire_insn;
4757 #define FLD(f) abuf->fields.fmt_empty.f
4760 /* Record the fields for the semantic handler. */
4761 if (UNLIKELY(current_cpu->trace_extract_p))
4763 current_cpu->trace_stream
4764 << "0x" << hex << pc << dec << " (sfmt_reset)\t"