1 /* Simulator instruction decoder for xstormy16.
3 THIS FILE IS MACHINE GENERATED WITH CGEN.
5 Copyright (C) 2000-2009 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_addgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
266 xstormy16_extract_sfmt_adcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
268 xstormy16_extract_sfmt_adcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
270 xstormy16_extract_sfmt_adcimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
272 xstormy16_extract_sfmt_adcgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
274 xstormy16_extract_sfmt_incgrimm2 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
276 xstormy16_extract_sfmt_shrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
278 xstormy16_extract_sfmt_shrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
280 xstormy16_extract_sfmt_set1lmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
282 xstormy16_extract_sfmt_set1hmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
284 xstormy16_extract_sfmt_bccgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
286 xstormy16_extract_sfmt_bccgrimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
288 xstormy16_extract_sfmt_bccimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
290 xstormy16_extract_sfmt_bngrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
292 xstormy16_extract_sfmt_bngrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
294 xstormy16_extract_sfmt_bnlmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
296 xstormy16_extract_sfmt_bnhmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
298 xstormy16_extract_sfmt_bcc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
300 xstormy16_extract_sfmt_bgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
302 xstormy16_extract_sfmt_br (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
304 xstormy16_extract_sfmt_jmp (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
306 xstormy16_extract_sfmt_jmpf (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
308 xstormy16_extract_sfmt_callrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
310 xstormy16_extract_sfmt_callrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
312 xstormy16_extract_sfmt_callgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
314 xstormy16_extract_sfmt_callfimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
316 xstormy16_extract_sfmt_icallrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
318 xstormy16_extract_sfmt_icallgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
320 xstormy16_extract_sfmt_icallfimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
322 xstormy16_extract_sfmt_iret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
324 xstormy16_extract_sfmt_ret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
326 xstormy16_extract_sfmt_mul (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
328 xstormy16_extract_sfmt_sdivlh (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
330 xstormy16_extract_sfmt_reset (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn);
332 // Fetch & decode instruction
334 xstormy16_scache::decode (xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn)
336 /* Result of decoder. */
337 XSTORMY16_INSN_TYPE itype;
340 xstormy16_insn_word insn = base_insn;
343 unsigned int val = (((insn >> 21) & (1023 << 1)) | ((insn >> 19) & (1 << 0)));
348 unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0)));
352 entire_insn = entire_insn >> 16;
353 itype = XSTORMY16_INSN_NOP; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
355 entire_insn = entire_insn >> 16;
356 itype = XSTORMY16_INSN_SYSCALL; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
358 entire_insn = entire_insn >> 16;
359 itype = XSTORMY16_INSN_IRET; xstormy16_extract_sfmt_iret (this, current_cpu, pc, base_insn, entire_insn); goto done;
361 entire_insn = entire_insn >> 16;
362 itype = XSTORMY16_INSN_RET; xstormy16_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done;
364 entire_insn = entire_insn >> 16;
365 itype = XSTORMY16_INSN_BRK; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
366 case 8 : /* fall through */
367 case 9 : /* fall through */
368 case 10 : /* fall through */
369 case 11 : /* fall through */
370 case 12 : /* fall through */
371 case 13 : /* fall through */
372 case 14 : /* fall through */
374 entire_insn = entire_insn >> 16;
375 itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
376 case 16 : /* fall through */
377 case 17 : /* fall through */
378 case 18 : /* fall through */
379 case 19 : /* fall through */
380 case 20 : /* fall through */
381 case 21 : /* fall through */
382 case 22 : /* fall through */
384 entire_insn = entire_insn >> 16;
385 itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
386 case 24 : /* fall through */
387 case 25 : /* fall through */
388 case 26 : /* fall through */
389 case 27 : /* fall through */
390 case 28 : /* fall through */
391 case 29 : /* fall through */
392 case 30 : /* fall through */
394 entire_insn = entire_insn >> 16;
395 itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
396 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
401 unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0)));
405 entire_insn = entire_insn >> 16;
406 itype = XSTORMY16_INSN_HALT; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
408 entire_insn = entire_insn >> 16;
409 itype = XSTORMY16_INSN_HOLD; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
411 entire_insn = entire_insn >> 16;
412 itype = XSTORMY16_INSN_HOLDX; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
414 entire_insn = entire_insn >> 16;
415 itype = XSTORMY16_INSN_RESET; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
416 case 8 : /* fall through */
417 case 9 : /* fall through */
418 case 10 : /* fall through */
419 case 11 : /* fall through */
420 case 12 : /* fall through */
421 case 13 : /* fall through */
422 case 14 : /* fall through */
424 entire_insn = entire_insn >> 16;
425 itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
426 case 16 : /* fall through */
427 case 17 : /* fall through */
428 case 18 : /* fall through */
429 case 19 : /* fall through */
430 case 20 : /* fall through */
431 case 21 : /* fall through */
432 case 22 : /* fall through */
434 entire_insn = entire_insn >> 16;
435 itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
436 case 24 : /* fall through */
437 case 25 : /* fall through */
438 case 26 : /* fall through */
439 case 27 : /* fall through */
440 case 28 : /* fall through */
441 case 29 : /* fall through */
442 case 30 : /* fall through */
444 entire_insn = entire_insn >> 16;
445 itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
446 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
449 case 2 : /* fall through */
452 unsigned int val = (((insn >> 21) & (1 << 0)));
456 entire_insn = entire_insn >> 16;
457 itype = XSTORMY16_INSN_JMP; xstormy16_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done;
459 entire_insn = entire_insn >> 16;
460 itype = XSTORMY16_INSN_ICALLGR; xstormy16_extract_sfmt_icallgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
461 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
464 case 4 : /* fall through */
467 unsigned int val = (((insn >> 20) & (3 << 0)));
471 entire_insn = entire_insn >> 16;
472 itype = XSTORMY16_INSN_PUSHGR; xstormy16_extract_sfmt_pushgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
474 entire_insn = entire_insn >> 16;
475 itype = XSTORMY16_INSN_POPGR; xstormy16_extract_sfmt_popgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
476 case 2 : /* fall through */
478 entire_insn = entire_insn >> 16;
479 itype = XSTORMY16_INSN_CALLGR; xstormy16_extract_sfmt_callgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
480 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
485 unsigned int val = (((insn >> 20) & (3 << 0)));
489 entire_insn = entire_insn >> 16;
490 if ((entire_insn & 0xffff) == 0xc0)
491 { itype = XSTORMY16_INSN_DIV; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; }
492 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
494 entire_insn = entire_insn >> 16;
495 if ((entire_insn & 0xffff) == 0xd0)
496 { itype = XSTORMY16_INSN_MUL; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; }
497 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
499 entire_insn = entire_insn >> 16;
500 if ((entire_insn & 0xffff) == 0xe0)
501 { itype = XSTORMY16_INSN_DIVLH; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done; }
502 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
503 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
508 unsigned int val = (((insn >> 21) & (1 << 0)));
512 entire_insn = entire_insn >> 16;
513 if ((entire_insn & 0xffff) == 0xc8)
514 { itype = XSTORMY16_INSN_SDIV; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; }
515 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
517 entire_insn = entire_insn >> 16;
518 if ((entire_insn & 0xffff) == 0xe8)
519 { itype = XSTORMY16_INSN_SDIVLH; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done; }
520 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
521 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
524 case 8 : /* fall through */
525 case 9 : /* fall through */
526 case 10 : /* fall through */
527 case 11 : /* fall through */
528 case 12 : /* fall through */
529 case 13 : /* fall through */
530 case 14 : /* fall through */
531 case 15 : itype = XSTORMY16_INSN_CALLFIMM; xstormy16_extract_sfmt_callfimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
532 case 16 : /* fall through */
533 case 17 : /* fall through */
534 case 18 : /* fall through */
535 case 19 : /* fall through */
536 case 20 : /* fall through */
537 case 21 : /* fall through */
538 case 22 : /* fall through */
539 case 23 : itype = XSTORMY16_INSN_JMPF; xstormy16_extract_sfmt_jmpf (this, current_cpu, pc, base_insn, entire_insn); goto done;
540 case 24 : /* fall through */
541 case 25 : /* fall through */
542 case 26 : /* fall through */
543 case 27 : /* fall through */
544 case 28 : /* fall through */
545 case 29 : /* fall through */
546 case 30 : /* fall through */
547 case 31 : itype = XSTORMY16_INSN_ICALLFIMM; xstormy16_extract_sfmt_icallfimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
548 case 32 : /* fall through */
549 case 33 : /* fall through */
550 case 34 : /* fall through */
551 case 35 : /* fall through */
552 case 36 : /* fall through */
553 case 37 : /* fall through */
554 case 38 : /* fall through */
556 if ((entire_insn & 0xff00f000) == 0x4000000)
557 { itype = XSTORMY16_INSN_BNGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
558 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
559 case 40 : /* fall through */
560 case 41 : /* fall through */
561 case 42 : /* fall through */
562 case 43 : /* fall through */
563 case 44 : /* fall through */
564 case 45 : /* fall through */
565 case 46 : /* fall through */
567 if ((entire_insn & 0xff00f000) == 0x5000000)
568 { itype = XSTORMY16_INSN_BPGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
569 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
570 case 48 : /* fall through */
571 case 49 : /* fall through */
572 case 50 : /* fall through */
573 case 51 : /* fall through */
574 case 52 : /* fall through */
575 case 53 : /* fall through */
576 case 54 : /* fall through */
578 if ((entire_insn & 0xff00f000) == 0x6000000)
579 { itype = XSTORMY16_INSN_BNGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
580 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
581 case 56 : /* fall through */
582 case 57 : /* fall through */
583 case 58 : /* fall through */
584 case 59 : /* fall through */
585 case 60 : /* fall through */
586 case 61 : /* fall through */
587 case 62 : /* fall through */
589 if ((entire_insn & 0xff00f000) == 0x7000000)
590 { itype = XSTORMY16_INSN_BPGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
591 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
592 case 64 : /* fall through */
593 case 65 : /* fall through */
594 case 66 : /* fall through */
595 case 67 : /* fall through */
596 case 68 : /* fall through */
597 case 69 : /* fall through */
598 case 70 : /* fall through */
600 entire_insn = entire_insn >> 16;
601 itype = XSTORMY16_INSN_CLR1GRIMM; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
602 case 72 : /* fall through */
603 case 73 : /* fall through */
604 case 74 : /* fall through */
605 case 75 : /* fall through */
606 case 76 : /* fall through */
607 case 77 : /* fall through */
608 case 78 : /* fall through */
610 entire_insn = entire_insn >> 16;
611 itype = XSTORMY16_INSN_SET1GRIMM; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
612 case 80 : /* fall through */
613 case 81 : /* fall through */
614 case 82 : /* fall through */
615 case 83 : /* fall through */
616 case 84 : /* fall through */
617 case 85 : /* fall through */
618 case 86 : /* fall through */
620 entire_insn = entire_insn >> 16;
621 itype = XSTORMY16_INSN_CLR1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
622 case 88 : /* fall through */
623 case 89 : /* fall through */
624 case 90 : /* fall through */
625 case 91 : /* fall through */
626 case 92 : /* fall through */
627 case 93 : /* fall through */
628 case 94 : /* fall through */
630 entire_insn = entire_insn >> 16;
631 itype = XSTORMY16_INSN_SET1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
632 case 104 : /* fall through */
633 case 105 : /* fall through */
634 case 106 : /* fall through */
635 case 107 : /* fall through */
636 case 108 : /* fall through */
637 case 109 : /* fall through */
638 case 110 : /* fall through */
639 case 111 : itype = XSTORMY16_INSN_BCCGRGR; xstormy16_extract_sfmt_bccgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
640 case 128 : /* fall through */
641 case 129 : /* fall through */
642 case 130 : /* fall through */
643 case 131 : /* fall through */
644 case 132 : /* fall through */
645 case 133 : /* fall through */
646 case 134 : /* fall through */
647 case 135 : /* fall through */
648 case 136 : /* fall through */
649 case 137 : /* fall through */
650 case 138 : /* fall through */
651 case 139 : /* fall through */
652 case 140 : /* fall through */
653 case 141 : /* fall through */
654 case 142 : /* fall through */
655 case 143 : /* fall through */
656 case 144 : /* fall through */
657 case 145 : /* fall through */
658 case 146 : /* fall through */
659 case 147 : /* fall through */
660 case 148 : /* fall through */
661 case 149 : /* fall through */
662 case 150 : /* fall through */
663 case 151 : /* fall through */
664 case 152 : /* fall through */
665 case 153 : /* fall through */
666 case 154 : /* fall through */
667 case 155 : /* fall through */
668 case 156 : /* fall through */
669 case 157 : /* fall through */
670 case 158 : /* fall through */
671 case 159 : /* fall through */
672 case 160 : /* fall through */
673 case 161 : /* fall through */
674 case 162 : /* fall through */
675 case 163 : /* fall through */
676 case 164 : /* fall through */
677 case 165 : /* fall through */
678 case 166 : /* fall through */
679 case 167 : /* fall through */
680 case 168 : /* fall through */
681 case 169 : /* fall through */
682 case 170 : /* fall through */
683 case 171 : /* fall through */
684 case 172 : /* fall through */
685 case 173 : /* fall through */
686 case 174 : /* fall through */
687 case 175 : /* fall through */
688 case 176 : /* fall through */
689 case 177 : /* fall through */
690 case 178 : /* fall through */
691 case 179 : /* fall through */
692 case 180 : /* fall through */
693 case 181 : /* fall through */
694 case 182 : /* fall through */
695 case 183 : /* fall through */
696 case 184 : /* fall through */
697 case 185 : /* fall through */
698 case 186 : /* fall through */
699 case 187 : /* fall through */
700 case 188 : /* fall through */
701 case 189 : /* fall through */
702 case 190 : /* fall through */
703 case 191 : /* fall through */
704 case 192 : /* fall through */
705 case 193 : /* fall through */
706 case 194 : /* fall through */
707 case 195 : /* fall through */
708 case 196 : /* fall through */
709 case 197 : /* fall through */
710 case 198 : /* fall through */
711 case 199 : /* fall through */
712 case 200 : /* fall through */
713 case 201 : /* fall through */
714 case 202 : /* fall through */
715 case 203 : /* fall through */
716 case 204 : /* fall through */
717 case 205 : /* fall through */
718 case 206 : /* fall through */
719 case 207 : /* fall through */
720 case 208 : /* fall through */
721 case 209 : /* fall through */
722 case 210 : /* fall through */
723 case 211 : /* fall through */
724 case 212 : /* fall through */
725 case 213 : /* fall through */
726 case 214 : /* fall through */
727 case 215 : /* fall through */
728 case 216 : /* fall through */
729 case 217 : /* fall through */
730 case 218 : /* fall through */
731 case 219 : /* fall through */
732 case 220 : /* fall through */
733 case 221 : /* fall through */
734 case 222 : /* fall through */
735 case 223 : /* fall through */
736 case 224 : /* fall through */
737 case 225 : /* fall through */
738 case 226 : /* fall through */
739 case 227 : /* fall through */
740 case 228 : /* fall through */
741 case 229 : /* fall through */
742 case 230 : /* fall through */
743 case 231 : /* fall through */
744 case 232 : /* fall through */
745 case 233 : /* fall through */
746 case 234 : /* fall through */
747 case 235 : /* fall through */
748 case 236 : /* fall through */
749 case 237 : /* fall through */
750 case 238 : /* fall through */
751 case 239 : /* fall through */
752 case 240 : /* fall through */
753 case 241 : /* fall through */
754 case 242 : /* fall through */
755 case 243 : /* fall through */
756 case 244 : /* fall through */
757 case 245 : /* fall through */
758 case 246 : /* fall through */
759 case 247 : /* fall through */
760 case 248 : /* fall through */
761 case 249 : /* fall through */
762 case 250 : /* fall through */
763 case 251 : /* fall through */
764 case 252 : /* fall through */
765 case 253 : /* fall through */
766 case 254 : /* fall through */
769 unsigned int val = (((insn >> 16) & (1 << 0)));
773 entire_insn = entire_insn >> 16;
774 itype = XSTORMY16_INSN_BR; xstormy16_extract_sfmt_br (this, current_cpu, pc, base_insn, entire_insn); goto done;
776 entire_insn = entire_insn >> 16;
777 itype = XSTORMY16_INSN_CALLRIMM; xstormy16_extract_sfmt_callrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
778 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
781 case 256 : /* fall through */
782 case 257 : /* fall through */
783 case 258 : /* fall through */
784 case 259 : /* fall through */
785 case 260 : /* fall through */
786 case 261 : /* fall through */
787 case 262 : /* fall through */
788 case 263 : /* fall through */
789 case 272 : /* fall through */
790 case 273 : /* fall through */
791 case 274 : /* fall through */
792 case 275 : /* fall through */
793 case 276 : /* fall through */
794 case 277 : /* fall through */
795 case 278 : /* fall through */
796 case 279 : /* fall through */
797 case 288 : /* fall through */
798 case 289 : /* fall through */
799 case 290 : /* fall through */
800 case 291 : /* fall through */
801 case 292 : /* fall through */
802 case 293 : /* fall through */
803 case 294 : /* fall through */
804 case 295 : /* fall through */
805 case 304 : /* fall through */
806 case 305 : /* fall through */
807 case 306 : /* fall through */
808 case 307 : /* fall through */
809 case 308 : /* fall through */
810 case 309 : /* fall through */
811 case 310 : /* fall through */
812 case 311 : /* fall through */
813 case 320 : /* fall through */
814 case 321 : /* fall through */
815 case 322 : /* fall through */
816 case 323 : /* fall through */
817 case 324 : /* fall through */
818 case 325 : /* fall through */
819 case 326 : /* fall through */
820 case 327 : /* fall through */
821 case 336 : /* fall through */
822 case 337 : /* fall through */
823 case 338 : /* fall through */
824 case 339 : /* fall through */
825 case 340 : /* fall through */
826 case 341 : /* fall through */
827 case 342 : /* fall through */
828 case 343 : /* fall through */
829 case 352 : /* fall through */
830 case 353 : /* fall through */
831 case 354 : /* fall through */
832 case 355 : /* fall through */
833 case 356 : /* fall through */
834 case 357 : /* fall through */
835 case 358 : /* fall through */
836 case 359 : /* fall through */
837 case 368 : /* fall through */
838 case 369 : /* fall through */
839 case 370 : /* fall through */
840 case 371 : /* fall through */
841 case 372 : /* fall through */
842 case 373 : /* fall through */
843 case 374 : /* fall through */
844 case 375 : itype = XSTORMY16_INSN_BCCGRIMM8; xstormy16_extract_sfmt_bccgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
845 case 264 : /* fall through */
846 case 265 : /* fall through */
847 case 266 : /* fall through */
848 case 267 : /* fall through */
849 case 268 : /* fall through */
850 case 269 : /* fall through */
851 case 270 : /* fall through */
852 case 271 : /* fall through */
853 case 280 : /* fall through */
854 case 281 : /* fall through */
855 case 282 : /* fall through */
856 case 283 : /* fall through */
857 case 284 : /* fall through */
858 case 285 : /* fall through */
859 case 286 : /* fall through */
860 case 287 : /* fall through */
861 case 296 : /* fall through */
862 case 297 : /* fall through */
863 case 298 : /* fall through */
864 case 299 : /* fall through */
865 case 300 : /* fall through */
866 case 301 : /* fall through */
867 case 302 : /* fall through */
868 case 303 : /* fall through */
869 case 312 : /* fall through */
870 case 313 : /* fall through */
871 case 314 : /* fall through */
872 case 315 : /* fall through */
873 case 316 : /* fall through */
874 case 317 : /* fall through */
875 case 318 : /* fall through */
876 case 319 : /* fall through */
877 case 328 : /* fall through */
878 case 329 : /* fall through */
879 case 330 : /* fall through */
880 case 331 : /* fall through */
881 case 332 : /* fall through */
882 case 333 : /* fall through */
883 case 334 : /* fall through */
884 case 335 : /* fall through */
885 case 344 : /* fall through */
886 case 345 : /* fall through */
887 case 346 : /* fall through */
888 case 347 : /* fall through */
889 case 348 : /* fall through */
890 case 349 : /* fall through */
891 case 350 : /* fall through */
892 case 351 : /* fall through */
893 case 360 : /* fall through */
894 case 361 : /* fall through */
895 case 362 : /* fall through */
896 case 363 : /* fall through */
897 case 364 : /* fall through */
898 case 365 : /* fall through */
899 case 366 : /* fall through */
900 case 367 : /* fall through */
901 case 376 : /* fall through */
902 case 377 : /* fall through */
903 case 378 : /* fall through */
904 case 379 : /* fall through */
905 case 380 : /* fall through */
906 case 381 : /* fall through */
907 case 382 : /* fall through */
909 entire_insn = entire_insn >> 16;
910 itype = XSTORMY16_INSN_MOVWGRIMM8; xstormy16_extract_sfmt_movwgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
911 case 384 : /* fall through */
913 entire_insn = entire_insn >> 16;
914 itype = XSTORMY16_INSN_INCGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done;
915 case 386 : /* fall through */
917 entire_insn = entire_insn >> 16;
918 itype = XSTORMY16_INSN_DECGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done;
919 case 388 : /* fall through */
922 unsigned int val = (((insn >> 20) & (3 << 0)));
926 entire_insn = entire_insn >> 16;
927 itype = XSTORMY16_INSN_SWPB; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
929 entire_insn = entire_insn >> 16;
930 itype = XSTORMY16_INSN_SWPN; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
932 entire_insn = entire_insn >> 16;
933 itype = XSTORMY16_INSN_CBWGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
935 entire_insn = entire_insn >> 16;
936 itype = XSTORMY16_INSN_NOTGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
937 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
940 case 390 : /* fall through */
943 unsigned int val = (((insn >> 20) & (3 << 0)));
947 entire_insn = entire_insn >> 16;
948 itype = XSTORMY16_INSN_MOVLOWGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
950 entire_insn = entire_insn >> 16;
951 itype = XSTORMY16_INSN_MOVHIGHGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
952 case 2 : itype = XSTORMY16_INSN_MASKGRIMM16; xstormy16_extract_sfmt_maskgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
954 entire_insn = entire_insn >> 16;
955 itype = XSTORMY16_INSN_REVGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
956 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
959 case 392 : /* fall through */
962 unsigned int val = (((insn >> 20) & (3 << 0)));
965 case 0 : itype = XSTORMY16_INSN_ANDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
966 case 1 : itype = XSTORMY16_INSN_ORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
967 case 2 : itype = XSTORMY16_INSN_XORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
968 case 3 : itype = XSTORMY16_INSN_MOVWGRIMM16; xstormy16_extract_sfmt_movwgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
969 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
972 case 394 : /* fall through */
975 unsigned int val = (((insn >> 20) & (3 << 0)));
978 case 0 : itype = XSTORMY16_INSN_ADDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
979 case 1 : itype = XSTORMY16_INSN_ADCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
980 case 2 : itype = XSTORMY16_INSN_SUBGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
981 case 3 : itype = XSTORMY16_INSN_SBCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
982 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
985 case 400 : /* fall through */
986 case 401 : /* fall through */
987 case 402 : /* fall through */
988 case 403 : /* fall through */
989 case 404 : /* fall through */
990 case 405 : /* fall through */
991 case 406 : /* fall through */
993 entire_insn = entire_insn >> 16;
994 itype = XSTORMY16_INSN_SWPW; xstormy16_extract_sfmt_swpw (this, current_cpu, pc, base_insn, entire_insn); goto done;
995 case 408 : /* fall through */
996 case 409 : /* fall through */
997 case 410 : /* fall through */
998 case 411 : /* fall through */
999 case 412 : /* fall through */
1000 case 413 : /* fall through */
1001 case 414 : /* fall through */
1003 entire_insn = entire_insn >> 16;
1004 itype = XSTORMY16_INSN_MASKGRGR; xstormy16_extract_sfmt_maskgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1005 case 432 : /* fall through */
1006 case 433 : /* fall through */
1007 case 434 : /* fall through */
1008 case 435 : /* fall through */
1009 case 436 : /* fall through */
1010 case 437 : /* fall through */
1011 case 438 : /* fall through */
1013 entire_insn = entire_insn >> 16;
1014 itype = XSTORMY16_INSN_ASRGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1015 case 440 : /* fall through */
1016 case 441 : /* fall through */
1017 case 442 : /* fall through */
1018 case 443 : /* fall through */
1019 case 444 : /* fall through */
1020 case 445 : /* fall through */
1021 case 446 : /* fall through */
1023 entire_insn = entire_insn >> 16;
1024 itype = XSTORMY16_INSN_ASRGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1025 case 448 : /* fall through */
1026 case 449 : /* fall through */
1027 case 450 : /* fall through */
1028 case 451 : /* fall through */
1029 case 452 : /* fall through */
1030 case 453 : /* fall through */
1031 case 454 : /* fall through */
1033 entire_insn = entire_insn >> 16;
1034 itype = XSTORMY16_INSN_RRCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1035 case 456 : /* fall through */
1036 case 457 : /* fall through */
1037 case 458 : /* fall through */
1038 case 459 : /* fall through */
1039 case 460 : /* fall through */
1040 case 461 : /* fall through */
1041 case 462 : /* fall through */
1043 entire_insn = entire_insn >> 16;
1044 itype = XSTORMY16_INSN_RRCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1045 case 464 : /* fall through */
1046 case 465 : /* fall through */
1047 case 466 : /* fall through */
1048 case 467 : /* fall through */
1049 case 468 : /* fall through */
1050 case 469 : /* fall through */
1051 case 470 : /* fall through */
1053 entire_insn = entire_insn >> 16;
1054 itype = XSTORMY16_INSN_RLCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1055 case 472 : /* fall through */
1056 case 473 : /* fall through */
1057 case 474 : /* fall through */
1058 case 475 : /* fall through */
1059 case 476 : /* fall through */
1060 case 477 : /* fall through */
1061 case 478 : /* fall through */
1063 entire_insn = entire_insn >> 16;
1064 itype = XSTORMY16_INSN_RLCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1065 case 480 : /* fall through */
1066 case 481 : /* fall through */
1067 case 482 : /* fall through */
1068 case 483 : /* fall through */
1069 case 484 : /* fall through */
1070 case 485 : /* fall through */
1071 case 486 : /* fall through */
1073 entire_insn = entire_insn >> 16;
1074 itype = XSTORMY16_INSN_SHRGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1075 case 488 : /* fall through */
1076 case 489 : /* fall through */
1077 case 490 : /* fall through */
1078 case 491 : /* fall through */
1079 case 492 : /* fall through */
1080 case 493 : /* fall through */
1081 case 494 : /* fall through */
1083 entire_insn = entire_insn >> 16;
1084 itype = XSTORMY16_INSN_SHRGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1085 case 496 : /* fall through */
1086 case 497 : /* fall through */
1087 case 498 : /* fall through */
1088 case 499 : /* fall through */
1089 case 500 : /* fall through */
1090 case 501 : /* fall through */
1091 case 502 : /* fall through */
1093 entire_insn = entire_insn >> 16;
1094 itype = XSTORMY16_INSN_SHLGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1095 case 504 : /* fall through */
1096 case 505 : /* fall through */
1097 case 506 : /* fall through */
1098 case 507 : /* fall through */
1099 case 508 : /* fall through */
1100 case 509 : /* fall through */
1101 case 510 : /* fall through */
1103 entire_insn = entire_insn >> 16;
1104 itype = XSTORMY16_INSN_SHLGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1105 case 512 : /* fall through */
1106 case 513 : /* fall through */
1107 case 514 : /* fall through */
1108 case 515 : /* fall through */
1109 case 516 : /* fall through */
1110 case 517 : /* fall through */
1111 case 518 : /* fall through */
1113 entire_insn = entire_insn >> 16;
1114 itype = XSTORMY16_INSN_ANDGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1115 case 520 : /* fall through */
1116 case 521 : /* fall through */
1117 case 522 : /* fall through */
1118 case 523 : /* fall through */
1119 case 524 : /* fall through */
1120 case 525 : /* fall through */
1121 case 526 : /* fall through */
1123 entire_insn = entire_insn >> 16;
1124 itype = XSTORMY16_INSN_ANDIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1125 case 528 : /* fall through */
1126 case 529 : /* fall through */
1127 case 530 : /* fall through */
1128 case 531 : /* fall through */
1129 case 532 : /* fall through */
1130 case 533 : /* fall through */
1131 case 534 : /* fall through */
1133 entire_insn = entire_insn >> 16;
1134 itype = XSTORMY16_INSN_ORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1135 case 536 : /* fall through */
1136 case 537 : /* fall through */
1137 case 538 : /* fall through */
1138 case 539 : /* fall through */
1139 case 540 : /* fall through */
1140 case 541 : /* fall through */
1141 case 542 : /* fall through */
1143 entire_insn = entire_insn >> 16;
1144 itype = XSTORMY16_INSN_ORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1145 case 544 : /* fall through */
1146 case 545 : /* fall through */
1147 case 546 : /* fall through */
1148 case 547 : /* fall through */
1149 case 548 : /* fall through */
1150 case 549 : /* fall through */
1151 case 550 : /* fall through */
1153 entire_insn = entire_insn >> 16;
1154 itype = XSTORMY16_INSN_XORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1155 case 552 : /* fall through */
1156 case 553 : /* fall through */
1157 case 554 : /* fall through */
1158 case 555 : /* fall through */
1159 case 556 : /* fall through */
1160 case 557 : /* fall through */
1161 case 558 : /* fall through */
1163 entire_insn = entire_insn >> 16;
1164 itype = XSTORMY16_INSN_XORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1165 case 560 : /* fall through */
1166 case 561 : /* fall through */
1167 case 562 : /* fall through */
1168 case 563 : /* fall through */
1169 case 564 : /* fall through */
1170 case 565 : /* fall through */
1171 case 566 : /* fall through */
1173 entire_insn = entire_insn >> 16;
1174 itype = XSTORMY16_INSN_MOVGRGR; xstormy16_extract_sfmt_movgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1175 case 568 : /* fall through */
1176 case 569 : /* fall through */
1177 case 570 : /* fall through */
1178 case 571 : /* fall through */
1179 case 572 : /* fall through */
1180 case 573 : /* fall through */
1181 case 574 : /* fall through */
1183 entire_insn = entire_insn >> 16;
1184 itype = XSTORMY16_INSN_MOVWIMM8; xstormy16_extract_sfmt_movwimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1185 case 584 : /* fall through */
1186 case 585 : /* fall through */
1187 case 586 : /* fall through */
1188 case 587 : /* fall through */
1189 case 588 : /* fall through */
1190 case 589 : /* fall through */
1191 case 590 : /* fall through */
1193 entire_insn = entire_insn >> 16;
1194 itype = XSTORMY16_INSN_ADDGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1195 case 600 : /* fall through */
1196 case 601 : /* fall through */
1197 case 602 : /* fall through */
1198 case 603 : /* fall through */
1199 case 604 : /* fall through */
1200 case 605 : /* fall through */
1201 case 606 : /* fall through */
1203 entire_insn = entire_insn >> 16;
1204 itype = XSTORMY16_INSN_ADCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1205 case 616 : /* fall through */
1206 case 617 : /* fall through */
1207 case 618 : /* fall through */
1208 case 619 : /* fall through */
1209 case 620 : /* fall through */
1210 case 621 : /* fall through */
1211 case 622 : /* fall through */
1213 entire_insn = entire_insn >> 16;
1214 itype = XSTORMY16_INSN_SUBGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1215 case 632 : /* fall through */
1216 case 633 : /* fall through */
1217 case 634 : /* fall through */
1218 case 635 : /* fall through */
1219 case 636 : /* fall through */
1220 case 637 : /* fall through */
1221 case 638 : /* fall through */
1223 entire_insn = entire_insn >> 16;
1224 itype = XSTORMY16_INSN_SBCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1225 case 648 : /* fall through */
1226 case 649 : /* fall through */
1227 case 650 : /* fall through */
1228 case 651 : /* fall through */
1229 case 652 : /* fall through */
1230 case 653 : /* fall through */
1231 case 654 : /* fall through */
1233 entire_insn = entire_insn >> 16;
1234 itype = XSTORMY16_INSN_ADDGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1235 case 664 : /* fall through */
1236 case 665 : /* fall through */
1237 case 666 : /* fall through */
1238 case 667 : /* fall through */
1239 case 668 : /* fall through */
1240 case 669 : /* fall through */
1241 case 670 : /* fall through */
1243 entire_insn = entire_insn >> 16;
1244 itype = XSTORMY16_INSN_ADCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1245 case 680 : /* fall through */
1246 case 681 : /* fall through */
1247 case 682 : /* fall through */
1248 case 683 : /* fall through */
1249 case 684 : /* fall through */
1250 case 685 : /* fall through */
1251 case 686 : /* fall through */
1253 entire_insn = entire_insn >> 16;
1254 itype = XSTORMY16_INSN_SUBGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1255 case 696 : /* fall through */
1256 case 697 : /* fall through */
1257 case 698 : /* fall through */
1258 case 699 : /* fall through */
1259 case 700 : /* fall through */
1260 case 701 : /* fall through */
1261 case 702 : /* fall through */
1263 entire_insn = entire_insn >> 16;
1264 itype = XSTORMY16_INSN_SBCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1265 case 712 : /* fall through */
1266 case 713 : /* fall through */
1267 case 714 : /* fall through */
1268 case 715 : /* fall through */
1269 case 716 : /* fall through */
1270 case 717 : /* fall through */
1271 case 718 : /* fall through */
1273 entire_insn = entire_insn >> 16;
1274 itype = XSTORMY16_INSN_ADDIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1275 case 728 : /* fall through */
1276 case 729 : /* fall through */
1277 case 730 : /* fall through */
1278 case 731 : /* fall through */
1279 case 732 : /* fall through */
1280 case 733 : /* fall through */
1281 case 734 : /* fall through */
1283 entire_insn = entire_insn >> 16;
1284 itype = XSTORMY16_INSN_ADCIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1285 case 744 : /* fall through */
1286 case 745 : /* fall through */
1287 case 746 : /* fall through */
1288 case 747 : /* fall through */
1289 case 748 : /* fall through */
1290 case 749 : /* fall through */
1291 case 750 : /* fall through */
1293 entire_insn = entire_insn >> 16;
1294 itype = XSTORMY16_INSN_SUBIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1295 case 760 : /* fall through */
1296 case 761 : /* fall through */
1297 case 762 : /* fall through */
1298 case 763 : /* fall through */
1299 case 764 : /* fall through */
1300 case 765 : /* fall through */
1301 case 766 : /* fall through */
1303 entire_insn = entire_insn >> 16;
1304 itype = XSTORMY16_INSN_SBCGRIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
1305 case 768 : /* fall through */
1306 case 770 : /* fall through */
1307 case 772 : /* fall through */
1308 case 774 : /* fall through */
1309 case 776 : /* fall through */
1310 case 778 : /* fall through */
1311 case 780 : /* fall through */
1313 entire_insn = entire_insn >> 16;
1314 itype = XSTORMY16_INSN_MOVGRGRIPOSTINC; xstormy16_extract_sfmt_movgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1315 case 769 : /* fall through */
1316 case 771 : /* fall through */
1317 case 773 : /* fall through */
1318 case 775 : /* fall through */
1319 case 777 : /* fall through */
1320 case 779 : /* fall through */
1321 case 781 : /* fall through */
1323 if ((entire_insn & 0xfe08f000) == 0x60080000)
1324 { itype = XSTORMY16_INSN_MOVGRGRIIPOSTINC; xstormy16_extract_sfmt_movgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1325 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1326 case 784 : /* fall through */
1327 case 786 : /* fall through */
1328 case 788 : /* fall through */
1329 case 790 : /* fall through */
1330 case 792 : /* fall through */
1331 case 794 : /* fall through */
1332 case 796 : /* fall through */
1334 entire_insn = entire_insn >> 16;
1335 itype = XSTORMY16_INSN_MOVGRIPOSTINCGR; xstormy16_extract_sfmt_movgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1336 case 785 : /* fall through */
1337 case 787 : /* fall through */
1338 case 789 : /* fall through */
1339 case 791 : /* fall through */
1340 case 793 : /* fall through */
1341 case 795 : /* fall through */
1342 case 797 : /* fall through */
1344 if ((entire_insn & 0xfe08f000) == 0x62080000)
1345 { itype = XSTORMY16_INSN_MOVGRIIPOSTINCGR; xstormy16_extract_sfmt_movgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1346 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1347 case 800 : /* fall through */
1348 case 802 : /* fall through */
1349 case 804 : /* fall through */
1350 case 806 : /* fall through */
1351 case 808 : /* fall through */
1352 case 810 : /* fall through */
1353 case 812 : /* fall through */
1355 entire_insn = entire_insn >> 16;
1356 itype = XSTORMY16_INSN_MOVFGRGRIPOSTINC; xstormy16_extract_sfmt_movfgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
1357 case 801 : /* fall through */
1358 case 803 : /* fall through */
1359 case 805 : /* fall through */
1360 case 807 : /* fall through */
1361 case 809 : /* fall through */
1362 case 811 : /* fall through */
1363 case 813 : /* fall through */
1365 if ((entire_insn & 0xfe088000) == 0x64080000)
1366 { itype = XSTORMY16_INSN_MOVFGRGRIIPOSTINC; xstormy16_extract_sfmt_movfgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1367 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1368 case 816 : /* fall through */
1369 case 818 : /* fall through */
1370 case 820 : /* fall through */
1371 case 822 : /* fall through */
1372 case 824 : /* fall through */
1373 case 826 : /* fall through */
1374 case 828 : /* fall through */
1376 entire_insn = entire_insn >> 16;
1377 itype = XSTORMY16_INSN_MOVFGRIPOSTINCGR; xstormy16_extract_sfmt_movfgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1378 case 817 : /* fall through */
1379 case 819 : /* fall through */
1380 case 821 : /* fall through */
1381 case 823 : /* fall through */
1382 case 825 : /* fall through */
1383 case 827 : /* fall through */
1384 case 829 : /* fall through */
1386 if ((entire_insn & 0xfe088000) == 0x66080000)
1387 { itype = XSTORMY16_INSN_MOVFGRIIPOSTINCGR; xstormy16_extract_sfmt_movfgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1388 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1389 case 832 : /* fall through */
1390 case 834 : /* fall through */
1391 case 836 : /* fall through */
1392 case 838 : /* fall through */
1393 case 840 : /* fall through */
1394 case 842 : /* fall through */
1395 case 844 : /* fall through */
1397 entire_insn = entire_insn >> 16;
1398 itype = XSTORMY16_INSN_MOVGRGRIPREDEC; xstormy16_extract_sfmt_movgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
1399 case 833 : /* fall through */
1400 case 835 : /* fall through */
1401 case 837 : /* fall through */
1402 case 839 : /* fall through */
1403 case 841 : /* fall through */
1404 case 843 : /* fall through */
1405 case 845 : /* fall through */
1407 if ((entire_insn & 0xfe08f000) == 0x68080000)
1408 { itype = XSTORMY16_INSN_MOVGRGRIIPREDEC; xstormy16_extract_sfmt_movgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1409 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1410 case 848 : /* fall through */
1411 case 850 : /* fall through */
1412 case 852 : /* fall through */
1413 case 854 : /* fall through */
1414 case 856 : /* fall through */
1415 case 858 : /* fall through */
1416 case 860 : /* fall through */
1418 entire_insn = entire_insn >> 16;
1419 itype = XSTORMY16_INSN_MOVGRIPREDECGR; xstormy16_extract_sfmt_movgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1420 case 849 : /* fall through */
1421 case 851 : /* fall through */
1422 case 853 : /* fall through */
1423 case 855 : /* fall through */
1424 case 857 : /* fall through */
1425 case 859 : /* fall through */
1426 case 861 : /* fall through */
1428 if ((entire_insn & 0xfe08f000) == 0x6a080000)
1429 { itype = XSTORMY16_INSN_MOVGRIIPREDECGR; xstormy16_extract_sfmt_movgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1430 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1431 case 864 : /* fall through */
1432 case 866 : /* fall through */
1433 case 868 : /* fall through */
1434 case 870 : /* fall through */
1435 case 872 : /* fall through */
1436 case 874 : /* fall through */
1437 case 876 : /* fall through */
1439 entire_insn = entire_insn >> 16;
1440 itype = XSTORMY16_INSN_MOVFGRGRIPREDEC; xstormy16_extract_sfmt_movfgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
1441 case 865 : /* fall through */
1442 case 867 : /* fall through */
1443 case 869 : /* fall through */
1444 case 871 : /* fall through */
1445 case 873 : /* fall through */
1446 case 875 : /* fall through */
1447 case 877 : /* fall through */
1449 if ((entire_insn & 0xfe088000) == 0x6c080000)
1450 { itype = XSTORMY16_INSN_MOVFGRGRIIPREDEC; xstormy16_extract_sfmt_movfgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1451 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1452 case 880 : /* fall through */
1453 case 882 : /* fall through */
1454 case 884 : /* fall through */
1455 case 886 : /* fall through */
1456 case 888 : /* fall through */
1457 case 890 : /* fall through */
1458 case 892 : /* fall through */
1460 entire_insn = entire_insn >> 16;
1461 itype = XSTORMY16_INSN_MOVFGRIPREDECGR; xstormy16_extract_sfmt_movfgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1462 case 881 : /* fall through */
1463 case 883 : /* fall through */
1464 case 885 : /* fall through */
1465 case 887 : /* fall through */
1466 case 889 : /* fall through */
1467 case 891 : /* fall through */
1468 case 893 : /* fall through */
1470 if ((entire_insn & 0xfe088000) == 0x6e080000)
1471 { itype = XSTORMY16_INSN_MOVFGRIIPREDECGR; xstormy16_extract_sfmt_movfgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1472 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1473 case 896 : /* fall through */
1474 case 898 : /* fall through */
1475 case 900 : /* fall through */
1476 case 902 : /* fall through */
1477 case 904 : /* fall through */
1478 case 906 : /* fall through */
1479 case 908 : /* fall through */
1481 entire_insn = entire_insn >> 16;
1482 itype = XSTORMY16_INSN_MOVGRGRI; xstormy16_extract_sfmt_movgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done;
1483 case 897 : /* fall through */
1484 case 899 : /* fall through */
1485 case 901 : /* fall through */
1486 case 903 : /* fall through */
1487 case 905 : /* fall through */
1488 case 907 : /* fall through */
1489 case 909 : /* fall through */
1491 if ((entire_insn & 0xfe08f000) == 0x70080000)
1492 { itype = XSTORMY16_INSN_MOVGRGRII; xstormy16_extract_sfmt_movgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1493 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1494 case 912 : /* fall through */
1495 case 914 : /* fall through */
1496 case 916 : /* fall through */
1497 case 918 : /* fall through */
1498 case 920 : /* fall through */
1499 case 922 : /* fall through */
1500 case 924 : /* fall through */
1502 entire_insn = entire_insn >> 16;
1503 itype = XSTORMY16_INSN_MOVGRIGR; xstormy16_extract_sfmt_movgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1504 case 913 : /* fall through */
1505 case 915 : /* fall through */
1506 case 917 : /* fall through */
1507 case 919 : /* fall through */
1508 case 921 : /* fall through */
1509 case 923 : /* fall through */
1510 case 925 : /* fall through */
1512 if ((entire_insn & 0xfe08f000) == 0x72080000)
1513 { itype = XSTORMY16_INSN_MOVGRIIGR; xstormy16_extract_sfmt_movgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1514 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1515 case 928 : /* fall through */
1516 case 930 : /* fall through */
1517 case 932 : /* fall through */
1518 case 934 : /* fall through */
1519 case 936 : /* fall through */
1520 case 938 : /* fall through */
1521 case 940 : /* fall through */
1523 entire_insn = entire_insn >> 16;
1524 itype = XSTORMY16_INSN_MOVFGRGRI; xstormy16_extract_sfmt_movfgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done;
1525 case 929 : /* fall through */
1526 case 931 : /* fall through */
1527 case 933 : /* fall through */
1528 case 935 : /* fall through */
1529 case 937 : /* fall through */
1530 case 939 : /* fall through */
1531 case 941 : /* fall through */
1533 if ((entire_insn & 0xfe088000) == 0x74080000)
1534 { itype = XSTORMY16_INSN_MOVFGRGRII; xstormy16_extract_sfmt_movfgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1535 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1536 case 944 : /* fall through */
1537 case 946 : /* fall through */
1538 case 948 : /* fall through */
1539 case 950 : /* fall through */
1540 case 952 : /* fall through */
1541 case 954 : /* fall through */
1542 case 956 : /* fall through */
1544 entire_insn = entire_insn >> 16;
1545 itype = XSTORMY16_INSN_MOVFGRIGR; xstormy16_extract_sfmt_movfgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1546 case 945 : /* fall through */
1547 case 947 : /* fall through */
1548 case 949 : /* fall through */
1549 case 951 : /* fall through */
1550 case 953 : /* fall through */
1551 case 955 : /* fall through */
1552 case 957 : /* fall through */
1554 if ((entire_insn & 0xfe088000) == 0x76080000)
1555 { itype = XSTORMY16_INSN_MOVFGRIIGR; xstormy16_extract_sfmt_movfgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1556 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1557 case 960 : /* fall through */
1558 case 961 : /* fall through */
1559 case 962 : /* fall through */
1560 case 963 : /* fall through */
1561 case 964 : /* fall through */
1562 case 965 : /* fall through */
1563 case 966 : /* fall through */
1564 case 967 : /* fall through */
1565 case 968 : /* fall through */
1566 case 969 : /* fall through */
1567 case 970 : /* fall through */
1568 case 971 : /* fall through */
1569 case 972 : /* fall through */
1570 case 973 : /* fall through */
1571 case 974 : /* fall through */
1572 case 975 : itype = XSTORMY16_INSN_MOVLMEMIMM; xstormy16_extract_sfmt_movlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1573 case 976 : /* fall through */
1574 case 977 : /* fall through */
1575 case 978 : /* fall through */
1576 case 979 : /* fall through */
1577 case 980 : /* fall through */
1578 case 981 : /* fall through */
1579 case 982 : /* fall through */
1580 case 983 : /* fall through */
1581 case 984 : /* fall through */
1582 case 985 : /* fall through */
1583 case 986 : /* fall through */
1584 case 987 : /* fall through */
1585 case 988 : /* fall through */
1586 case 989 : /* fall through */
1587 case 990 : /* fall through */
1588 case 991 : itype = XSTORMY16_INSN_MOVHMEMIMM; xstormy16_extract_sfmt_movhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
1589 case 992 : /* fall through */
1590 case 993 : /* fall through */
1591 case 994 : /* fall through */
1592 case 995 : /* fall through */
1593 case 996 : /* fall through */
1594 case 997 : /* fall through */
1595 case 998 : /* fall through */
1597 if ((entire_insn & 0xff008000) == 0x7c000000)
1598 { itype = XSTORMY16_INSN_BNLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1599 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1600 case 1000 : /* fall through */
1601 case 1001 : /* fall through */
1602 case 1002 : /* fall through */
1603 case 1003 : /* fall through */
1604 case 1004 : /* fall through */
1605 case 1005 : /* fall through */
1606 case 1006 : /* fall through */
1608 if ((entire_insn & 0xff008000) == 0x7d000000)
1609 { itype = XSTORMY16_INSN_BPLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1610 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1611 case 1008 : /* fall through */
1612 case 1009 : /* fall through */
1613 case 1010 : /* fall through */
1614 case 1011 : /* fall through */
1615 case 1012 : /* fall through */
1616 case 1013 : /* fall through */
1617 case 1014 : /* fall through */
1619 if ((entire_insn & 0xff008000) == 0x7e000000)
1620 { itype = XSTORMY16_INSN_BNHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1621 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1622 case 1016 : /* fall through */
1623 case 1017 : /* fall through */
1624 case 1018 : /* fall through */
1625 case 1019 : /* fall through */
1626 case 1020 : /* fall through */
1627 case 1021 : /* fall through */
1628 case 1022 : /* fall through */
1630 if ((entire_insn & 0xff008000) == 0x7f000000)
1631 { itype = XSTORMY16_INSN_BPHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
1632 itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
1633 case 1024 : /* fall through */
1634 case 1025 : /* fall through */
1635 case 1026 : /* fall through */
1636 case 1027 : /* fall through */
1637 case 1028 : /* fall through */
1638 case 1029 : /* fall through */
1639 case 1030 : /* fall through */
1640 case 1031 : /* fall through */
1641 case 1032 : /* fall through */
1642 case 1033 : /* fall through */
1643 case 1034 : /* fall through */
1644 case 1035 : /* fall through */
1645 case 1036 : /* fall through */
1646 case 1037 : /* fall through */
1647 case 1038 : /* fall through */
1648 case 1039 : /* fall through */
1649 case 1040 : /* fall through */
1650 case 1041 : /* fall through */
1651 case 1042 : /* fall through */
1652 case 1043 : /* fall through */
1653 case 1044 : /* fall through */
1654 case 1045 : /* fall through */
1655 case 1046 : /* fall through */
1656 case 1047 : /* fall through */
1657 case 1048 : /* fall through */
1658 case 1049 : /* fall through */
1659 case 1050 : /* fall through */
1660 case 1051 : /* fall through */
1661 case 1052 : /* fall through */
1662 case 1053 : /* fall through */
1663 case 1054 : /* fall through */
1664 case 1055 : /* fall through */
1665 case 1056 : /* fall through */
1666 case 1057 : /* fall through */
1667 case 1058 : /* fall through */
1668 case 1059 : /* fall through */
1669 case 1060 : /* fall through */
1670 case 1061 : /* fall through */
1671 case 1062 : /* fall through */
1672 case 1063 : /* fall through */
1673 case 1064 : /* fall through */
1674 case 1065 : /* fall through */
1675 case 1066 : /* fall through */
1676 case 1067 : /* fall through */
1677 case 1068 : /* fall through */
1678 case 1069 : /* fall through */
1679 case 1070 : /* fall through */
1680 case 1071 : /* fall through */
1681 case 1072 : /* fall through */
1682 case 1073 : /* fall through */
1683 case 1074 : /* fall through */
1684 case 1075 : /* fall through */
1685 case 1076 : /* fall through */
1686 case 1077 : /* fall through */
1687 case 1078 : /* fall through */
1688 case 1079 : /* fall through */
1689 case 1080 : /* fall through */
1690 case 1081 : /* fall through */
1691 case 1082 : /* fall through */
1692 case 1083 : /* fall through */
1693 case 1084 : /* fall through */
1694 case 1085 : /* fall through */
1695 case 1086 : /* fall through */
1696 case 1087 : /* fall through */
1697 case 1088 : /* fall through */
1698 case 1089 : /* fall through */
1699 case 1090 : /* fall through */
1700 case 1091 : /* fall through */
1701 case 1092 : /* fall through */
1702 case 1093 : /* fall through */
1703 case 1094 : /* fall through */
1704 case 1095 : /* fall through */
1705 case 1096 : /* fall through */
1706 case 1097 : /* fall through */
1707 case 1098 : /* fall through */
1708 case 1099 : /* fall through */
1709 case 1100 : /* fall through */
1710 case 1101 : /* fall through */
1711 case 1102 : /* fall through */
1712 case 1103 : /* fall through */
1713 case 1104 : /* fall through */
1714 case 1105 : /* fall through */
1715 case 1106 : /* fall through */
1716 case 1107 : /* fall through */
1717 case 1108 : /* fall through */
1718 case 1109 : /* fall through */
1719 case 1110 : /* fall through */
1720 case 1111 : /* fall through */
1721 case 1112 : /* fall through */
1722 case 1113 : /* fall through */
1723 case 1114 : /* fall through */
1724 case 1115 : /* fall through */
1725 case 1116 : /* fall through */
1726 case 1117 : /* fall through */
1727 case 1118 : /* fall through */
1728 case 1119 : /* fall through */
1729 case 1120 : /* fall through */
1730 case 1121 : /* fall through */
1731 case 1122 : /* fall through */
1732 case 1123 : /* fall through */
1733 case 1124 : /* fall through */
1734 case 1125 : /* fall through */
1735 case 1126 : /* fall through */
1736 case 1127 : /* fall through */
1737 case 1128 : /* fall through */
1738 case 1129 : /* fall through */
1739 case 1130 : /* fall through */
1740 case 1131 : /* fall through */
1741 case 1132 : /* fall through */
1742 case 1133 : /* fall through */
1743 case 1134 : /* fall through */
1744 case 1135 : /* fall through */
1745 case 1136 : /* fall through */
1746 case 1137 : /* fall through */
1747 case 1138 : /* fall through */
1748 case 1139 : /* fall through */
1749 case 1140 : /* fall through */
1750 case 1141 : /* fall through */
1751 case 1142 : /* fall through */
1752 case 1143 : /* fall through */
1753 case 1144 : /* fall through */
1754 case 1145 : /* fall through */
1755 case 1146 : /* fall through */
1756 case 1147 : /* fall through */
1757 case 1148 : /* fall through */
1758 case 1149 : /* fall through */
1759 case 1150 : /* fall through */
1761 entire_insn = entire_insn >> 16;
1762 itype = XSTORMY16_INSN_MOVLGRMEM; xstormy16_extract_sfmt_movlgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done;
1763 case 1152 : /* fall through */
1764 case 1153 : /* fall through */
1765 case 1154 : /* fall through */
1766 case 1155 : /* fall through */
1767 case 1156 : /* fall through */
1768 case 1157 : /* fall through */
1769 case 1158 : /* fall through */
1770 case 1159 : /* fall through */
1771 case 1160 : /* fall through */
1772 case 1161 : /* fall through */
1773 case 1162 : /* fall through */
1774 case 1163 : /* fall through */
1775 case 1164 : /* fall through */
1776 case 1165 : /* fall through */
1777 case 1166 : /* fall through */
1778 case 1167 : /* fall through */
1779 case 1168 : /* fall through */
1780 case 1169 : /* fall through */
1781 case 1170 : /* fall through */
1782 case 1171 : /* fall through */
1783 case 1172 : /* fall through */
1784 case 1173 : /* fall through */
1785 case 1174 : /* fall through */
1786 case 1175 : /* fall through */
1787 case 1176 : /* fall through */
1788 case 1177 : /* fall through */
1789 case 1178 : /* fall through */
1790 case 1179 : /* fall through */
1791 case 1180 : /* fall through */
1792 case 1181 : /* fall through */
1793 case 1182 : /* fall through */
1794 case 1183 : /* fall through */
1795 case 1184 : /* fall through */
1796 case 1185 : /* fall through */
1797 case 1186 : /* fall through */
1798 case 1187 : /* fall through */
1799 case 1188 : /* fall through */
1800 case 1189 : /* fall through */
1801 case 1190 : /* fall through */
1802 case 1191 : /* fall through */
1803 case 1192 : /* fall through */
1804 case 1193 : /* fall through */
1805 case 1194 : /* fall through */
1806 case 1195 : /* fall through */
1807 case 1196 : /* fall through */
1808 case 1197 : /* fall through */
1809 case 1198 : /* fall through */
1810 case 1199 : /* fall through */
1811 case 1200 : /* fall through */
1812 case 1201 : /* fall through */
1813 case 1202 : /* fall through */
1814 case 1203 : /* fall through */
1815 case 1204 : /* fall through */
1816 case 1205 : /* fall through */
1817 case 1206 : /* fall through */
1818 case 1207 : /* fall through */
1819 case 1208 : /* fall through */
1820 case 1209 : /* fall through */
1821 case 1210 : /* fall through */
1822 case 1211 : /* fall through */
1823 case 1212 : /* fall through */
1824 case 1213 : /* fall through */
1825 case 1214 : /* fall through */
1826 case 1215 : /* fall through */
1827 case 1216 : /* fall through */
1828 case 1217 : /* fall through */
1829 case 1218 : /* fall through */
1830 case 1219 : /* fall through */
1831 case 1220 : /* fall through */
1832 case 1221 : /* fall through */
1833 case 1222 : /* fall through */
1834 case 1223 : /* fall through */
1835 case 1224 : /* fall through */
1836 case 1225 : /* fall through */
1837 case 1226 : /* fall through */
1838 case 1227 : /* fall through */
1839 case 1228 : /* fall through */
1840 case 1229 : /* fall through */
1841 case 1230 : /* fall through */
1842 case 1231 : /* fall through */
1843 case 1232 : /* fall through */
1844 case 1233 : /* fall through */
1845 case 1234 : /* fall through */
1846 case 1235 : /* fall through */
1847 case 1236 : /* fall through */
1848 case 1237 : /* fall through */
1849 case 1238 : /* fall through */
1850 case 1239 : /* fall through */
1851 case 1240 : /* fall through */
1852 case 1241 : /* fall through */
1853 case 1242 : /* fall through */
1854 case 1243 : /* fall through */
1855 case 1244 : /* fall through */
1856 case 1245 : /* fall through */
1857 case 1246 : /* fall through */
1858 case 1247 : /* fall through */
1859 case 1248 : /* fall through */
1860 case 1249 : /* fall through */
1861 case 1250 : /* fall through */
1862 case 1251 : /* fall through */
1863 case 1252 : /* fall through */
1864 case 1253 : /* fall through */
1865 case 1254 : /* fall through */
1866 case 1255 : /* fall through */
1867 case 1256 : /* fall through */
1868 case 1257 : /* fall through */
1869 case 1258 : /* fall through */
1870 case 1259 : /* fall through */
1871 case 1260 : /* fall through */
1872 case 1261 : /* fall through */
1873 case 1262 : /* fall through */
1874 case 1263 : /* fall through */
1875 case 1264 : /* fall through */
1876 case 1265 : /* fall through */
1877 case 1266 : /* fall through */
1878 case 1267 : /* fall through */
1879 case 1268 : /* fall through */
1880 case 1269 : /* fall through */
1881 case 1270 : /* fall through */
1882 case 1271 : /* fall through */
1883 case 1272 : /* fall through */
1884 case 1273 : /* fall through */
1885 case 1274 : /* fall through */
1886 case 1275 : /* fall through */
1887 case 1276 : /* fall through */
1888 case 1277 : /* fall through */
1889 case 1278 : /* fall through */
1891 entire_insn = entire_insn >> 16;
1892 itype = XSTORMY16_INSN_MOVLMEMGR; xstormy16_extract_sfmt_movlmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
1893 case 1280 : /* fall through */
1894 case 1281 : /* fall through */
1895 case 1282 : /* fall through */
1896 case 1283 : /* fall through */
1897 case 1284 : /* fall through */
1898 case 1285 : /* fall through */
1899 case 1286 : /* fall through */
1900 case 1287 : /* fall through */
1901 case 1288 : /* fall through */
1902 case 1289 : /* fall through */
1903 case 1290 : /* fall through */
1904 case 1291 : /* fall through */
1905 case 1292 : /* fall through */
1906 case 1293 : /* fall through */
1907 case 1294 : /* fall through */
1908 case 1295 : /* fall through */
1909 case 1296 : /* fall through */
1910 case 1297 : /* fall through */
1911 case 1298 : /* fall through */
1912 case 1299 : /* fall through */
1913 case 1300 : /* fall through */
1914 case 1301 : /* fall through */
1915 case 1302 : /* fall through */
1916 case 1303 : /* fall through */
1917 case 1304 : /* fall through */
1918 case 1305 : /* fall through */
1919 case 1306 : /* fall through */
1920 case 1307 : /* fall through */
1921 case 1308 : /* fall through */
1922 case 1309 : /* fall through */
1923 case 1310 : /* fall through */
1924 case 1311 : /* fall through */
1925 case 1312 : /* fall through */
1926 case 1313 : /* fall through */
1927 case 1314 : /* fall through */
1928 case 1315 : /* fall through */
1929 case 1316 : /* fall through */
1930 case 1317 : /* fall through */
1931 case 1318 : /* fall through */
1932 case 1319 : /* fall through */
1933 case 1320 : /* fall through */
1934 case 1321 : /* fall through */
1935 case 1322 : /* fall through */
1936 case 1323 : /* fall through */
1937 case 1324 : /* fall through */
1938 case 1325 : /* fall through */
1939 case 1326 : /* fall through */
1940 case 1327 : /* fall through */
1941 case 1328 : /* fall through */
1942 case 1329 : /* fall through */
1943 case 1330 : /* fall through */
1944 case 1331 : /* fall through */
1945 case 1332 : /* fall through */
1946 case 1333 : /* fall through */
1947 case 1334 : /* fall through */
1948 case 1335 : /* fall through */
1949 case 1336 : /* fall through */
1950 case 1337 : /* fall through */
1951 case 1338 : /* fall through */
1952 case 1339 : /* fall through */
1953 case 1340 : /* fall through */
1954 case 1341 : /* fall through */
1955 case 1342 : /* fall through */
1956 case 1343 : /* fall through */
1957 case 1344 : /* fall through */
1958 case 1345 : /* fall through */
1959 case 1346 : /* fall through */
1960 case 1347 : /* fall through */
1961 case 1348 : /* fall through */
1962 case 1349 : /* fall through */
1963 case 1350 : /* fall through */
1964 case 1351 : /* fall through */
1965 case 1352 : /* fall through */
1966 case 1353 : /* fall through */
1967 case 1354 : /* fall through */
1968 case 1355 : /* fall through */
1969 case 1356 : /* fall through */
1970 case 1357 : /* fall through */
1971 case 1358 : /* fall through */
1972 case 1359 : /* fall through */
1973 case 1360 : /* fall through */
1974 case 1361 : /* fall through */
1975 case 1362 : /* fall through */
1976 case 1363 : /* fall through */
1977 case 1364 : /* fall through */
1978 case 1365 : /* fall through */
1979 case 1366 : /* fall through */
1980 case 1367 : /* fall through */
1981 case 1368 : /* fall through */
1982 case 1369 : /* fall through */
1983 case 1370 : /* fall through */
1984 case 1371 : /* fall through */
1985 case 1372 : /* fall through */
1986 case 1373 : /* fall through */
1987 case 1374 : /* fall through */
1988 case 1375 : /* fall through */
1989 case 1376 : /* fall through */
1990 case 1377 : /* fall through */
1991 case 1378 : /* fall through */
1992 case 1379 : /* fall through */
1993 case 1380 : /* fall through */
1994 case 1381 : /* fall through */
1995 case 1382 : /* fall through */
1996 case 1383 : /* fall through */
1997 case 1384 : /* fall through */
1998 case 1385 : /* fall through */
1999 case 1386 : /* fall through */
2000 case 1387 : /* fall through */
2001 case 1388 : /* fall through */
2002 case 1389 : /* fall through */
2003 case 1390 : /* fall through */
2004 case 1391 : /* fall through */
2005 case 1392 : /* fall through */
2006 case 1393 : /* fall through */
2007 case 1394 : /* fall through */
2008 case 1395 : /* fall through */
2009 case 1396 : /* fall through */
2010 case 1397 : /* fall through */
2011 case 1398 : /* fall through */
2012 case 1399 : /* fall through */
2013 case 1400 : /* fall through */
2014 case 1401 : /* fall through */
2015 case 1402 : /* fall through */
2016 case 1403 : /* fall through */
2017 case 1404 : /* fall through */
2018 case 1405 : /* fall through */
2019 case 1406 : /* fall through */
2021 entire_insn = entire_insn >> 16;
2022 itype = XSTORMY16_INSN_MOVHGRMEM; xstormy16_extract_sfmt_movhgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done;
2023 case 1408 : /* fall through */
2024 case 1409 : /* fall through */
2025 case 1410 : /* fall through */
2026 case 1411 : /* fall through */
2027 case 1412 : /* fall through */
2028 case 1413 : /* fall through */
2029 case 1414 : /* fall through */
2030 case 1415 : /* fall through */
2031 case 1416 : /* fall through */
2032 case 1417 : /* fall through */
2033 case 1418 : /* fall through */
2034 case 1419 : /* fall through */
2035 case 1420 : /* fall through */
2036 case 1421 : /* fall through */
2037 case 1422 : /* fall through */
2038 case 1423 : /* fall through */
2039 case 1424 : /* fall through */
2040 case 1425 : /* fall through */
2041 case 1426 : /* fall through */
2042 case 1427 : /* fall through */
2043 case 1428 : /* fall through */
2044 case 1429 : /* fall through */
2045 case 1430 : /* fall through */
2046 case 1431 : /* fall through */
2047 case 1432 : /* fall through */
2048 case 1433 : /* fall through */
2049 case 1434 : /* fall through */
2050 case 1435 : /* fall through */
2051 case 1436 : /* fall through */
2052 case 1437 : /* fall through */
2053 case 1438 : /* fall through */
2054 case 1439 : /* fall through */
2055 case 1440 : /* fall through */
2056 case 1441 : /* fall through */
2057 case 1442 : /* fall through */
2058 case 1443 : /* fall through */
2059 case 1444 : /* fall through */
2060 case 1445 : /* fall through */
2061 case 1446 : /* fall through */
2062 case 1447 : /* fall through */
2063 case 1448 : /* fall through */
2064 case 1449 : /* fall through */
2065 case 1450 : /* fall through */
2066 case 1451 : /* fall through */
2067 case 1452 : /* fall through */
2068 case 1453 : /* fall through */
2069 case 1454 : /* fall through */
2070 case 1455 : /* fall through */
2071 case 1456 : /* fall through */
2072 case 1457 : /* fall through */
2073 case 1458 : /* fall through */
2074 case 1459 : /* fall through */
2075 case 1460 : /* fall through */
2076 case 1461 : /* fall through */
2077 case 1462 : /* fall through */
2078 case 1463 : /* fall through */
2079 case 1464 : /* fall through */
2080 case 1465 : /* fall through */
2081 case 1466 : /* fall through */
2082 case 1467 : /* fall through */
2083 case 1468 : /* fall through */
2084 case 1469 : /* fall through */
2085 case 1470 : /* fall through */
2086 case 1471 : /* fall through */
2087 case 1472 : /* fall through */
2088 case 1473 : /* fall through */
2089 case 1474 : /* fall through */
2090 case 1475 : /* fall through */
2091 case 1476 : /* fall through */
2092 case 1477 : /* fall through */
2093 case 1478 : /* fall through */
2094 case 1479 : /* fall through */
2095 case 1480 : /* fall through */
2096 case 1481 : /* fall through */
2097 case 1482 : /* fall through */
2098 case 1483 : /* fall through */
2099 case 1484 : /* fall through */
2100 case 1485 : /* fall through */
2101 case 1486 : /* fall through */
2102 case 1487 : /* fall through */
2103 case 1488 : /* fall through */
2104 case 1489 : /* fall through */
2105 case 1490 : /* fall through */
2106 case 1491 : /* fall through */
2107 case 1492 : /* fall through */
2108 case 1493 : /* fall through */
2109 case 1494 : /* fall through */
2110 case 1495 : /* fall through */
2111 case 1496 : /* fall through */
2112 case 1497 : /* fall through */
2113 case 1498 : /* fall through */
2114 case 1499 : /* fall through */
2115 case 1500 : /* fall through */
2116 case 1501 : /* fall through */
2117 case 1502 : /* fall through */
2118 case 1503 : /* fall through */
2119 case 1504 : /* fall through */
2120 case 1505 : /* fall through */
2121 case 1506 : /* fall through */
2122 case 1507 : /* fall through */
2123 case 1508 : /* fall through */
2124 case 1509 : /* fall through */
2125 case 1510 : /* fall through */
2126 case 1511 : /* fall through */
2127 case 1512 : /* fall through */
2128 case 1513 : /* fall through */
2129 case 1514 : /* fall through */
2130 case 1515 : /* fall through */
2131 case 1516 : /* fall through */
2132 case 1517 : /* fall through */
2133 case 1518 : /* fall through */
2134 case 1519 : /* fall through */
2135 case 1520 : /* fall through */
2136 case 1521 : /* fall through */
2137 case 1522 : /* fall through */
2138 case 1523 : /* fall through */
2139 case 1524 : /* fall through */
2140 case 1525 : /* fall through */
2141 case 1526 : /* fall through */
2142 case 1527 : /* fall through */
2143 case 1528 : /* fall through */
2144 case 1529 : /* fall through */
2145 case 1530 : /* fall through */
2146 case 1531 : /* fall through */
2147 case 1532 : /* fall through */
2148 case 1533 : /* fall through */
2149 case 1534 : /* fall through */
2151 entire_insn = entire_insn >> 16;
2152 itype = XSTORMY16_INSN_MOVHMEMGR; xstormy16_extract_sfmt_movhmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
2153 case 1536 : /* fall through */
2154 case 1537 : /* fall through */
2155 case 1538 : /* fall through */
2156 case 1539 : /* fall through */
2157 case 1540 : /* fall through */
2158 case 1541 : /* fall through */
2159 case 1542 : /* fall through */
2160 case 1543 : /* fall through */
2161 case 1544 : /* fall through */
2162 case 1545 : /* fall through */
2163 case 1546 : /* fall through */
2164 case 1547 : /* fall through */
2165 case 1548 : /* fall through */
2166 case 1549 : /* fall through */
2167 case 1550 : /* fall through */
2168 case 1551 : /* fall through */
2169 case 1552 : /* fall through */
2170 case 1553 : /* fall through */
2171 case 1554 : /* fall through */
2172 case 1555 : /* fall through */
2173 case 1556 : /* fall through */
2174 case 1557 : /* fall through */
2175 case 1558 : /* fall through */
2176 case 1559 : /* fall through */
2177 case 1560 : /* fall through */
2178 case 1561 : /* fall through */
2179 case 1562 : /* fall through */
2180 case 1563 : /* fall through */
2181 case 1564 : /* fall through */
2182 case 1565 : /* fall through */
2183 case 1566 : /* fall through */
2184 case 1567 : /* fall through */
2185 case 1568 : /* fall through */
2186 case 1569 : /* fall through */
2187 case 1570 : /* fall through */
2188 case 1571 : /* fall through */
2189 case 1572 : /* fall through */
2190 case 1573 : /* fall through */
2191 case 1574 : /* fall through */
2192 case 1575 : /* fall through */
2193 case 1576 : /* fall through */
2194 case 1577 : /* fall through */
2195 case 1578 : /* fall through */
2196 case 1579 : /* fall through */
2197 case 1580 : /* fall through */
2198 case 1581 : /* fall through */
2199 case 1582 : /* fall through */
2200 case 1583 : /* fall through */
2201 case 1584 : /* fall through */
2202 case 1585 : /* fall through */
2203 case 1586 : /* fall through */
2204 case 1587 : /* fall through */
2205 case 1588 : /* fall through */
2206 case 1589 : /* fall through */
2207 case 1590 : /* fall through */
2208 case 1591 : /* fall through */
2209 case 1592 : /* fall through */
2210 case 1593 : /* fall through */
2211 case 1594 : /* fall through */
2212 case 1595 : /* fall through */
2213 case 1596 : /* fall through */
2214 case 1597 : /* fall through */
2215 case 1598 : /* fall through */
2216 case 1599 : /* fall through */
2217 case 1600 : /* fall through */
2218 case 1601 : /* fall through */
2219 case 1602 : /* fall through */
2220 case 1603 : /* fall through */
2221 case 1604 : /* fall through */
2222 case 1605 : /* fall through */
2223 case 1606 : /* fall through */
2224 case 1607 : /* fall through */
2225 case 1608 : /* fall through */
2226 case 1609 : /* fall through */
2227 case 1610 : /* fall through */
2228 case 1611 : /* fall through */
2229 case 1612 : /* fall through */
2230 case 1613 : /* fall through */
2231 case 1614 : /* fall through */
2232 case 1615 : /* fall through */
2233 case 1616 : /* fall through */
2234 case 1617 : /* fall through */
2235 case 1618 : /* fall through */
2236 case 1619 : /* fall through */
2237 case 1620 : /* fall through */
2238 case 1621 : /* fall through */
2239 case 1622 : /* fall through */
2240 case 1623 : /* fall through */
2241 case 1624 : /* fall through */
2242 case 1625 : /* fall through */
2243 case 1626 : /* fall through */
2244 case 1627 : /* fall through */
2245 case 1628 : /* fall through */
2246 case 1629 : /* fall through */
2247 case 1630 : /* fall through */
2248 case 1631 : /* fall through */
2249 case 1632 : /* fall through */
2250 case 1633 : /* fall through */
2251 case 1634 : /* fall through */
2252 case 1635 : /* fall through */
2253 case 1636 : /* fall through */
2254 case 1637 : /* fall through */
2255 case 1638 : /* fall through */
2256 case 1639 : /* fall through */
2257 case 1640 : /* fall through */
2258 case 1641 : /* fall through */
2259 case 1642 : /* fall through */
2260 case 1643 : /* fall through */
2261 case 1644 : /* fall through */
2262 case 1645 : /* fall through */
2263 case 1646 : /* fall through */
2264 case 1647 : /* fall through */
2265 case 1648 : /* fall through */
2266 case 1649 : /* fall through */
2267 case 1650 : /* fall through */
2268 case 1651 : /* fall through */
2269 case 1652 : /* fall through */
2270 case 1653 : /* fall through */
2271 case 1654 : /* fall through */
2272 case 1655 : /* fall through */
2273 case 1656 : /* fall through */
2274 case 1657 : /* fall through */
2275 case 1658 : /* fall through */
2276 case 1659 : /* fall through */
2277 case 1660 : /* fall through */
2278 case 1661 : /* fall through */
2279 case 1662 : /* fall through */
2280 case 1663 : itype = XSTORMY16_INSN_BCCIMM16; xstormy16_extract_sfmt_bccimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
2281 case 1664 : /* fall through */
2282 case 1665 : /* fall through */
2283 case 1666 : /* fall through */
2284 case 1667 : /* fall through */
2285 case 1668 : /* fall through */
2286 case 1669 : /* fall through */
2287 case 1670 : /* fall through */
2288 case 1671 : /* fall through */
2289 case 1672 : /* fall through */
2290 case 1673 : /* fall through */
2291 case 1674 : /* fall through */
2292 case 1675 : /* fall through */
2293 case 1676 : /* fall through */
2294 case 1677 : /* fall through */
2295 case 1678 : /* fall through */
2296 case 1679 : /* fall through */
2297 case 1680 : /* fall through */
2298 case 1681 : /* fall through */
2299 case 1682 : /* fall through */
2300 case 1683 : /* fall through */
2301 case 1684 : /* fall through */
2302 case 1685 : /* fall through */
2303 case 1686 : /* fall through */
2304 case 1687 : /* fall through */
2305 case 1688 : /* fall through */
2306 case 1689 : /* fall through */
2307 case 1690 : /* fall through */
2308 case 1691 : /* fall through */
2309 case 1692 : /* fall through */
2310 case 1693 : /* fall through */
2311 case 1694 : /* fall through */
2312 case 1695 : /* fall through */
2313 case 1696 : /* fall through */
2314 case 1697 : /* fall through */
2315 case 1698 : /* fall through */
2316 case 1699 : /* fall through */
2317 case 1700 : /* fall through */
2318 case 1701 : /* fall through */
2319 case 1702 : /* fall through */
2320 case 1703 : /* fall through */
2321 case 1704 : /* fall through */
2322 case 1705 : /* fall through */
2323 case 1706 : /* fall through */
2324 case 1707 : /* fall through */
2325 case 1708 : /* fall through */
2326 case 1709 : /* fall through */
2327 case 1710 : /* fall through */
2328 case 1711 : /* fall through */
2329 case 1712 : /* fall through */
2330 case 1713 : /* fall through */
2331 case 1714 : /* fall through */
2332 case 1715 : /* fall through */
2333 case 1716 : /* fall through */
2334 case 1717 : /* fall through */
2335 case 1718 : /* fall through */
2336 case 1719 : /* fall through */
2337 case 1720 : /* fall through */
2338 case 1721 : /* fall through */
2339 case 1722 : /* fall through */
2340 case 1723 : /* fall through */
2341 case 1724 : /* fall through */
2342 case 1725 : /* fall through */
2343 case 1726 : /* fall through */
2344 case 1727 : /* fall through */
2345 case 1728 : /* fall through */
2346 case 1729 : /* fall through */
2347 case 1730 : /* fall through */
2348 case 1731 : /* fall through */
2349 case 1732 : /* fall through */
2350 case 1733 : /* fall through */
2351 case 1734 : /* fall through */
2352 case 1735 : /* fall through */
2353 case 1736 : /* fall through */
2354 case 1737 : /* fall through */
2355 case 1738 : /* fall through */
2356 case 1739 : /* fall through */
2357 case 1740 : /* fall through */
2358 case 1741 : /* fall through */
2359 case 1742 : /* fall through */
2360 case 1743 : /* fall through */
2361 case 1744 : /* fall through */
2362 case 1745 : /* fall through */
2363 case 1746 : /* fall through */
2364 case 1747 : /* fall through */
2365 case 1748 : /* fall through */
2366 case 1749 : /* fall through */
2367 case 1750 : /* fall through */
2368 case 1751 : /* fall through */
2369 case 1752 : /* fall through */
2370 case 1753 : /* fall through */
2371 case 1754 : /* fall through */
2372 case 1755 : /* fall through */
2373 case 1756 : /* fall through */
2374 case 1757 : /* fall through */
2375 case 1758 : /* fall through */
2376 case 1759 : /* fall through */
2377 case 1760 : /* fall through */
2378 case 1761 : /* fall through */
2379 case 1762 : /* fall through */
2380 case 1763 : /* fall through */
2381 case 1764 : /* fall through */
2382 case 1765 : /* fall through */
2383 case 1766 : /* fall through */
2384 case 1767 : /* fall through */
2385 case 1768 : /* fall through */
2386 case 1769 : /* fall through */
2387 case 1770 : /* fall through */
2388 case 1771 : /* fall through */
2389 case 1772 : /* fall through */
2390 case 1773 : /* fall through */
2391 case 1774 : /* fall through */
2392 case 1775 : /* fall through */
2393 case 1776 : /* fall through */
2394 case 1777 : /* fall through */
2395 case 1778 : /* fall through */
2396 case 1779 : /* fall through */
2397 case 1780 : /* fall through */
2398 case 1781 : /* fall through */
2399 case 1782 : /* fall through */
2400 case 1783 : /* fall through */
2401 case 1784 : /* fall through */
2402 case 1785 : /* fall through */
2403 case 1786 : /* fall through */
2404 case 1787 : /* fall through */
2405 case 1788 : /* fall through */
2406 case 1789 : /* fall through */
2407 case 1790 : /* fall through */
2409 entire_insn = entire_insn >> 16;
2410 itype = XSTORMY16_INSN_BCC; xstormy16_extract_sfmt_bcc (this, current_cpu, pc, base_insn, entire_insn); goto done;
2411 case 1792 : /* fall through */
2412 case 1793 : /* fall through */
2413 case 1794 : /* fall through */
2414 case 1795 : /* fall through */
2415 case 1796 : /* fall through */
2416 case 1797 : /* fall through */
2417 case 1798 : /* fall through */
2418 case 1799 : /* fall through */
2419 case 1808 : /* fall through */
2420 case 1809 : /* fall through */
2421 case 1810 : /* fall through */
2422 case 1811 : /* fall through */
2423 case 1812 : /* fall through */
2424 case 1813 : /* fall through */
2425 case 1814 : /* fall through */
2426 case 1815 : /* fall through */
2427 case 1824 : /* fall through */
2428 case 1825 : /* fall through */
2429 case 1826 : /* fall through */
2430 case 1827 : /* fall through */
2431 case 1828 : /* fall through */
2432 case 1829 : /* fall through */
2433 case 1830 : /* fall through */
2434 case 1831 : /* fall through */
2435 case 1840 : /* fall through */
2436 case 1841 : /* fall through */
2437 case 1842 : /* fall through */
2438 case 1843 : /* fall through */
2439 case 1844 : /* fall through */
2440 case 1845 : /* fall through */
2441 case 1846 : /* fall through */
2442 case 1847 : /* fall through */
2443 case 1856 : /* fall through */
2444 case 1857 : /* fall through */
2445 case 1858 : /* fall through */
2446 case 1859 : /* fall through */
2447 case 1860 : /* fall through */
2448 case 1861 : /* fall through */
2449 case 1862 : /* fall through */
2450 case 1863 : /* fall through */
2451 case 1872 : /* fall through */
2452 case 1873 : /* fall through */
2453 case 1874 : /* fall through */
2454 case 1875 : /* fall through */
2455 case 1876 : /* fall through */
2456 case 1877 : /* fall through */
2457 case 1878 : /* fall through */
2458 case 1879 : /* fall through */
2459 case 1888 : /* fall through */
2460 case 1889 : /* fall through */
2461 case 1890 : /* fall through */
2462 case 1891 : /* fall through */
2463 case 1892 : /* fall through */
2464 case 1893 : /* fall through */
2465 case 1894 : /* fall through */
2466 case 1895 : /* fall through */
2467 case 1904 : /* fall through */
2468 case 1905 : /* fall through */
2469 case 1906 : /* fall through */
2470 case 1907 : /* fall through */
2471 case 1908 : /* fall through */
2472 case 1909 : /* fall through */
2473 case 1910 : /* fall through */
2475 entire_insn = entire_insn >> 16;
2476 itype = XSTORMY16_INSN_CLR1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
2477 case 1800 : /* fall through */
2478 case 1801 : /* fall through */
2479 case 1802 : /* fall through */
2480 case 1803 : /* fall through */
2481 case 1804 : /* fall through */
2482 case 1805 : /* fall through */
2483 case 1806 : /* fall through */
2484 case 1807 : /* fall through */
2485 case 1816 : /* fall through */
2486 case 1817 : /* fall through */
2487 case 1818 : /* fall through */
2488 case 1819 : /* fall through */
2489 case 1820 : /* fall through */
2490 case 1821 : /* fall through */
2491 case 1822 : /* fall through */
2492 case 1823 : /* fall through */
2493 case 1832 : /* fall through */
2494 case 1833 : /* fall through */
2495 case 1834 : /* fall through */
2496 case 1835 : /* fall through */
2497 case 1836 : /* fall through */
2498 case 1837 : /* fall through */
2499 case 1838 : /* fall through */
2500 case 1839 : /* fall through */
2501 case 1848 : /* fall through */
2502 case 1849 : /* fall through */
2503 case 1850 : /* fall through */
2504 case 1851 : /* fall through */
2505 case 1852 : /* fall through */
2506 case 1853 : /* fall through */
2507 case 1854 : /* fall through */
2508 case 1855 : /* fall through */
2509 case 1864 : /* fall through */
2510 case 1865 : /* fall through */
2511 case 1866 : /* fall through */
2512 case 1867 : /* fall through */
2513 case 1868 : /* fall through */
2514 case 1869 : /* fall through */
2515 case 1870 : /* fall through */
2516 case 1871 : /* fall through */
2517 case 1880 : /* fall through */
2518 case 1881 : /* fall through */
2519 case 1882 : /* fall through */
2520 case 1883 : /* fall through */
2521 case 1884 : /* fall through */
2522 case 1885 : /* fall through */
2523 case 1886 : /* fall through */
2524 case 1887 : /* fall through */
2525 case 1896 : /* fall through */
2526 case 1897 : /* fall through */
2527 case 1898 : /* fall through */
2528 case 1899 : /* fall through */
2529 case 1900 : /* fall through */
2530 case 1901 : /* fall through */
2531 case 1902 : /* fall through */
2532 case 1903 : /* fall through */
2533 case 1912 : /* fall through */
2534 case 1913 : /* fall through */
2535 case 1914 : /* fall through */
2536 case 1915 : /* fall through */
2537 case 1916 : /* fall through */
2538 case 1917 : /* fall through */
2539 case 1918 : /* fall through */
2541 entire_insn = entire_insn >> 16;
2542 itype = XSTORMY16_INSN_SET1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
2543 case 1920 : /* fall through */
2544 case 1921 : /* fall through */
2545 case 1922 : /* fall through */
2546 case 1923 : /* fall through */
2547 case 1924 : /* fall through */
2548 case 1925 : /* fall through */
2549 case 1926 : /* fall through */
2550 case 1927 : /* fall through */
2551 case 1936 : /* fall through */
2552 case 1937 : /* fall through */
2553 case 1938 : /* fall through */
2554 case 1939 : /* fall through */
2555 case 1940 : /* fall through */
2556 case 1941 : /* fall through */
2557 case 1942 : /* fall through */
2558 case 1943 : /* fall through */
2559 case 1952 : /* fall through */
2560 case 1953 : /* fall through */
2561 case 1954 : /* fall through */
2562 case 1955 : /* fall through */
2563 case 1956 : /* fall through */
2564 case 1957 : /* fall through */
2565 case 1958 : /* fall through */
2566 case 1959 : /* fall through */
2567 case 1968 : /* fall through */
2568 case 1969 : /* fall through */
2569 case 1970 : /* fall through */
2570 case 1971 : /* fall through */
2571 case 1972 : /* fall through */
2572 case 1973 : /* fall through */
2573 case 1974 : /* fall through */
2574 case 1975 : /* fall through */
2575 case 1984 : /* fall through */
2576 case 1985 : /* fall through */
2577 case 1986 : /* fall through */
2578 case 1987 : /* fall through */
2579 case 1988 : /* fall through */
2580 case 1989 : /* fall through */
2581 case 1990 : /* fall through */
2582 case 1991 : /* fall through */
2583 case 2000 : /* fall through */
2584 case 2001 : /* fall through */
2585 case 2002 : /* fall through */
2586 case 2003 : /* fall through */
2587 case 2004 : /* fall through */
2588 case 2005 : /* fall through */
2589 case 2006 : /* fall through */
2590 case 2007 : /* fall through */
2591 case 2016 : /* fall through */
2592 case 2017 : /* fall through */
2593 case 2018 : /* fall through */
2594 case 2019 : /* fall through */
2595 case 2020 : /* fall through */
2596 case 2021 : /* fall through */
2597 case 2022 : /* fall through */
2598 case 2023 : /* fall through */
2599 case 2032 : /* fall through */
2600 case 2033 : /* fall through */
2601 case 2034 : /* fall through */
2602 case 2035 : /* fall through */
2603 case 2036 : /* fall through */
2604 case 2037 : /* fall through */
2605 case 2038 : /* fall through */
2607 entire_insn = entire_insn >> 16;
2608 itype = XSTORMY16_INSN_CLR1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
2609 case 1928 : /* fall through */
2610 case 1929 : /* fall through */
2611 case 1930 : /* fall through */
2612 case 1931 : /* fall through */
2613 case 1932 : /* fall through */
2614 case 1933 : /* fall through */
2615 case 1934 : /* fall through */
2616 case 1935 : /* fall through */
2617 case 1944 : /* fall through */
2618 case 1945 : /* fall through */
2619 case 1946 : /* fall through */
2620 case 1947 : /* fall through */
2621 case 1948 : /* fall through */
2622 case 1949 : /* fall through */
2623 case 1950 : /* fall through */
2624 case 1951 : /* fall through */
2625 case 1960 : /* fall through */
2626 case 1961 : /* fall through */
2627 case 1962 : /* fall through */
2628 case 1963 : /* fall through */
2629 case 1964 : /* fall through */
2630 case 1965 : /* fall through */
2631 case 1966 : /* fall through */
2632 case 1967 : /* fall through */
2633 case 1976 : /* fall through */
2634 case 1977 : /* fall through */
2635 case 1978 : /* fall through */
2636 case 1979 : /* fall through */
2637 case 1980 : /* fall through */
2638 case 1981 : /* fall through */
2639 case 1982 : /* fall through */
2640 case 1983 : /* fall through */
2641 case 1992 : /* fall through */
2642 case 1993 : /* fall through */
2643 case 1994 : /* fall through */
2644 case 1995 : /* fall through */
2645 case 1996 : /* fall through */
2646 case 1997 : /* fall through */
2647 case 1998 : /* fall through */
2648 case 1999 : /* fall through */
2649 case 2008 : /* fall through */
2650 case 2009 : /* fall through */
2651 case 2010 : /* fall through */
2652 case 2011 : /* fall through */
2653 case 2012 : /* fall through */
2654 case 2013 : /* fall through */
2655 case 2014 : /* fall through */
2656 case 2015 : /* fall through */
2657 case 2024 : /* fall through */
2658 case 2025 : /* fall through */
2659 case 2026 : /* fall through */
2660 case 2027 : /* fall through */
2661 case 2028 : /* fall through */
2662 case 2029 : /* fall through */
2663 case 2030 : /* fall through */
2664 case 2031 : /* fall through */
2665 case 2040 : /* fall through */
2666 case 2041 : /* fall through */
2667 case 2042 : /* fall through */
2668 case 2043 : /* fall through */
2669 case 2044 : /* fall through */
2670 case 2045 : /* fall through */
2671 case 2046 : /* fall through */
2673 entire_insn = entire_insn >> 16;
2674 itype = XSTORMY16_INSN_SET1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
2675 default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
2681 /* The instruction has been decoded and fields extracted. */
2685 // FIXME: To be redone (to handle ISA variants).
2686 this->idesc = & xstormy16_idesc::idesc_table[itype];
2687 // ??? record semantic handler?
2688 assert(this->idesc->sem_index == itype);
2692 xstormy16_extract_sfmt_empty (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2693 xstormy16_insn_word insn = entire_insn;
2694 #define FLD(f) abuf->fields.fmt_empty.f
2697 /* Record the fields for the semantic handler. */
2698 if (UNLIKELY(current_cpu->trace_extract_p))
2700 current_cpu->trace_stream
2701 << "0x" << hex << pc << dec << " (sfmt_empty)\t"
2709 xstormy16_extract_sfmt_movlmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2710 xstormy16_insn_word insn = entire_insn;
2711 #define FLD(f) abuf->fields.sfmt_movlmemimm.f
2716 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2717 f_lmem8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
2718 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
2720 /* Record the fields for the semantic handler. */
2721 FLD (f_imm16) = f_imm16;
2722 FLD (f_lmem8) = f_lmem8;
2723 FLD (f_op2m) = f_op2m;
2724 if (UNLIKELY(current_cpu->trace_extract_p))
2726 current_cpu->trace_stream
2727 << "0x" << hex << pc << dec << " (sfmt_movlmemimm)\t"
2728 << " f_imm16:0x" << hex << f_imm16 << dec
2729 << " f_lmem8:0x" << hex << f_lmem8 << dec
2730 << " f_op2m:0x" << hex << f_op2m << dec
2738 xstormy16_extract_sfmt_movhmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2739 xstormy16_insn_word insn = entire_insn;
2740 #define FLD(f) abuf->fields.sfmt_movhmemimm.f
2745 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
2746 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 32, 8, 8)) + (32512));
2747 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
2749 /* Record the fields for the semantic handler. */
2750 FLD (f_hmem8) = f_hmem8;
2751 FLD (f_imm16) = f_imm16;
2752 FLD (f_op2m) = f_op2m;
2753 if (UNLIKELY(current_cpu->trace_extract_p))
2755 current_cpu->trace_stream
2756 << "0x" << hex << pc << dec << " (sfmt_movhmemimm)\t"
2757 << " f_hmem8:0x" << hex << f_hmem8 << dec
2758 << " f_imm16:0x" << hex << f_imm16 << dec
2759 << " f_op2m:0x" << hex << f_op2m << dec
2767 xstormy16_extract_sfmt_movlgrmem (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2768 xstormy16_insn_word insn = entire_insn;
2769 #define FLD(f) abuf->fields.sfmt_movlgrmem.f
2774 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
2775 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2776 f_lmem8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2778 /* Record the fields for the semantic handler. */
2780 FLD (f_lmem8) = f_lmem8;
2781 FLD (f_op2m) = f_op2m;
2782 if (UNLIKELY(current_cpu->trace_extract_p))
2784 current_cpu->trace_stream
2785 << "0x" << hex << pc << dec << " (sfmt_movlgrmem)\t"
2786 << " f_Rm:0x" << hex << f_Rm << dec
2787 << " f_lmem8:0x" << hex << f_lmem8 << dec
2788 << " f_op2m:0x" << hex << f_op2m << dec
2796 xstormy16_extract_sfmt_movhgrmem (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2797 xstormy16_insn_word insn = entire_insn;
2798 #define FLD(f) abuf->fields.sfmt_movhgrmem.f
2803 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
2804 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2805 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) + (32512));
2807 /* Record the fields for the semantic handler. */
2809 FLD (f_hmem8) = f_hmem8;
2810 FLD (f_op2m) = f_op2m;
2811 if (UNLIKELY(current_cpu->trace_extract_p))
2813 current_cpu->trace_stream
2814 << "0x" << hex << pc << dec << " (sfmt_movhgrmem)\t"
2815 << " f_Rm:0x" << hex << f_Rm << dec
2816 << " f_hmem8:0x" << hex << f_hmem8 << dec
2817 << " f_op2m:0x" << hex << f_op2m << dec
2825 xstormy16_extract_sfmt_movlmemgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2826 xstormy16_insn_word insn = entire_insn;
2827 #define FLD(f) abuf->fields.sfmt_movlgrmem.f
2832 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
2833 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2834 f_lmem8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
2836 /* Record the fields for the semantic handler. */
2838 FLD (f_lmem8) = f_lmem8;
2839 FLD (f_op2m) = f_op2m;
2840 if (UNLIKELY(current_cpu->trace_extract_p))
2842 current_cpu->trace_stream
2843 << "0x" << hex << pc << dec << " (sfmt_movlmemgr)\t"
2844 << " f_Rm:0x" << hex << f_Rm << dec
2845 << " f_lmem8:0x" << hex << f_lmem8 << dec
2846 << " f_op2m:0x" << hex << f_op2m << dec
2854 xstormy16_extract_sfmt_movhmemgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2855 xstormy16_insn_word insn = entire_insn;
2856 #define FLD(f) abuf->fields.sfmt_movhgrmem.f
2861 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
2862 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2863 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) + (32512));
2865 /* Record the fields for the semantic handler. */
2867 FLD (f_hmem8) = f_hmem8;
2868 FLD (f_op2m) = f_op2m;
2869 if (UNLIKELY(current_cpu->trace_extract_p))
2871 current_cpu->trace_stream
2872 << "0x" << hex << pc << dec << " (sfmt_movhmemgr)\t"
2873 << " f_Rm:0x" << hex << f_Rm << dec
2874 << " f_hmem8:0x" << hex << f_hmem8 << dec
2875 << " f_op2m:0x" << hex << f_op2m << dec
2883 xstormy16_extract_sfmt_movgrgri (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
2890 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2891 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2892 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2894 /* Record the fields for the semantic handler. */
2896 FLD (f_Rdm) = f_Rdm;
2897 FLD (f_op2m) = f_op2m;
2898 if (UNLIKELY(current_cpu->trace_extract_p))
2900 current_cpu->trace_stream
2901 << "0x" << hex << pc << dec << " (sfmt_movgrgri)\t"
2902 << " f_Rs:0x" << hex << f_Rs << dec
2903 << " f_Rdm:0x" << hex << f_Rdm << dec
2904 << " f_op2m:0x" << hex << f_op2m << dec
2912 xstormy16_extract_sfmt_movgrgripostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2913 xstormy16_insn_word insn = entire_insn;
2914 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2919 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2920 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2921 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2923 /* Record the fields for the semantic handler. */
2925 FLD (f_Rdm) = f_Rdm;
2926 FLD (f_op2m) = f_op2m;
2927 if (UNLIKELY(current_cpu->trace_extract_p))
2929 current_cpu->trace_stream
2930 << "0x" << hex << pc << dec << " (sfmt_movgrgripostinc)\t"
2931 << " f_Rs:0x" << hex << f_Rs << dec
2932 << " f_Rdm:0x" << hex << f_Rdm << dec
2933 << " f_op2m:0x" << hex << f_op2m << dec
2941 xstormy16_extract_sfmt_movgrgripredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2942 xstormy16_insn_word insn = entire_insn;
2943 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2948 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2949 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2950 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2952 /* Record the fields for the semantic handler. */
2954 FLD (f_Rdm) = f_Rdm;
2955 FLD (f_op2m) = f_op2m;
2956 if (UNLIKELY(current_cpu->trace_extract_p))
2958 current_cpu->trace_stream
2959 << "0x" << hex << pc << dec << " (sfmt_movgrgripredec)\t"
2960 << " f_Rs:0x" << hex << f_Rs << dec
2961 << " f_Rdm:0x" << hex << f_Rdm << dec
2962 << " f_op2m:0x" << hex << f_op2m << dec
2970 xstormy16_extract_sfmt_movgrigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
2971 xstormy16_insn_word insn = entire_insn;
2972 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
2977 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
2978 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
2979 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
2981 /* Record the fields for the semantic handler. */
2982 FLD (f_Rdm) = f_Rdm;
2984 FLD (f_op2m) = f_op2m;
2985 if (UNLIKELY(current_cpu->trace_extract_p))
2987 current_cpu->trace_stream
2988 << "0x" << hex << pc << dec << " (sfmt_movgrigr)\t"
2989 << " f_Rdm:0x" << hex << f_Rdm << dec
2990 << " f_Rs:0x" << hex << f_Rs << dec
2991 << " f_op2m:0x" << hex << f_op2m << dec
2999 xstormy16_extract_sfmt_movgripostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3000 xstormy16_insn_word insn = entire_insn;
3001 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3006 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3007 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3008 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3010 /* Record the fields for the semantic handler. */
3011 FLD (f_Rdm) = f_Rdm;
3013 FLD (f_op2m) = f_op2m;
3014 if (UNLIKELY(current_cpu->trace_extract_p))
3016 current_cpu->trace_stream
3017 << "0x" << hex << pc << dec << " (sfmt_movgripostincgr)\t"
3018 << " f_Rdm:0x" << hex << f_Rdm << dec
3019 << " f_Rs:0x" << hex << f_Rs << dec
3020 << " f_op2m:0x" << hex << f_op2m << dec
3028 xstormy16_extract_sfmt_movgripredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3029 xstormy16_insn_word insn = entire_insn;
3030 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3035 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3036 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3037 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3039 /* Record the fields for the semantic handler. */
3040 FLD (f_Rdm) = f_Rdm;
3042 FLD (f_op2m) = f_op2m;
3043 if (UNLIKELY(current_cpu->trace_extract_p))
3045 current_cpu->trace_stream
3046 << "0x" << hex << pc << dec << " (sfmt_movgripredecgr)\t"
3047 << " f_Rdm:0x" << hex << f_Rdm << dec
3048 << " f_Rs:0x" << hex << f_Rs << dec
3049 << " f_op2m:0x" << hex << f_op2m << dec
3057 xstormy16_extract_sfmt_movgrgrii (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3058 xstormy16_insn_word insn = entire_insn;
3059 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3065 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3066 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3067 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3068 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3070 /* Record the fields for the semantic handler. */
3072 FLD (f_Rdm) = f_Rdm;
3073 FLD (f_imm12) = f_imm12;
3074 FLD (f_op2m) = f_op2m;
3075 if (UNLIKELY(current_cpu->trace_extract_p))
3077 current_cpu->trace_stream
3078 << "0x" << hex << pc << dec << " (sfmt_movgrgrii)\t"
3079 << " f_Rs:0x" << hex << f_Rs << dec
3080 << " f_Rdm:0x" << hex << f_Rdm << dec
3081 << " f_imm12:0x" << hex << f_imm12 << dec
3082 << " f_op2m:0x" << hex << f_op2m << dec
3090 xstormy16_extract_sfmt_movgrgriipostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3091 xstormy16_insn_word insn = entire_insn;
3092 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3098 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3099 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3100 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3101 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3103 /* Record the fields for the semantic handler. */
3105 FLD (f_Rdm) = f_Rdm;
3106 FLD (f_imm12) = f_imm12;
3107 FLD (f_op2m) = f_op2m;
3108 if (UNLIKELY(current_cpu->trace_extract_p))
3110 current_cpu->trace_stream
3111 << "0x" << hex << pc << dec << " (sfmt_movgrgriipostinc)\t"
3112 << " f_Rs:0x" << hex << f_Rs << dec
3113 << " f_Rdm:0x" << hex << f_Rdm << dec
3114 << " f_imm12:0x" << hex << f_imm12 << dec
3115 << " f_op2m:0x" << hex << f_op2m << dec
3123 xstormy16_extract_sfmt_movgrgriipredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3124 xstormy16_insn_word insn = entire_insn;
3125 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3131 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3132 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3133 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3134 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3136 /* Record the fields for the semantic handler. */
3138 FLD (f_Rdm) = f_Rdm;
3139 FLD (f_imm12) = f_imm12;
3140 FLD (f_op2m) = f_op2m;
3141 if (UNLIKELY(current_cpu->trace_extract_p))
3143 current_cpu->trace_stream
3144 << "0x" << hex << pc << dec << " (sfmt_movgrgriipredec)\t"
3145 << " f_Rs:0x" << hex << f_Rs << dec
3146 << " f_Rdm:0x" << hex << f_Rdm << dec
3147 << " f_imm12:0x" << hex << f_imm12 << dec
3148 << " f_op2m:0x" << hex << f_op2m << dec
3156 xstormy16_extract_sfmt_movgriigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3157 xstormy16_insn_word insn = entire_insn;
3158 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3164 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3165 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3166 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3167 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3169 /* Record the fields for the semantic handler. */
3170 FLD (f_Rdm) = f_Rdm;
3172 FLD (f_imm12) = f_imm12;
3173 FLD (f_op2m) = f_op2m;
3174 if (UNLIKELY(current_cpu->trace_extract_p))
3176 current_cpu->trace_stream
3177 << "0x" << hex << pc << dec << " (sfmt_movgriigr)\t"
3178 << " f_Rdm:0x" << hex << f_Rdm << dec
3179 << " f_Rs:0x" << hex << f_Rs << dec
3180 << " f_imm12:0x" << hex << f_imm12 << dec
3181 << " f_op2m:0x" << hex << f_op2m << dec
3189 xstormy16_extract_sfmt_movgriipostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3190 xstormy16_insn_word insn = entire_insn;
3191 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3197 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3198 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3199 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3200 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3202 /* Record the fields for the semantic handler. */
3203 FLD (f_Rdm) = f_Rdm;
3205 FLD (f_imm12) = f_imm12;
3206 FLD (f_op2m) = f_op2m;
3207 if (UNLIKELY(current_cpu->trace_extract_p))
3209 current_cpu->trace_stream
3210 << "0x" << hex << pc << dec << " (sfmt_movgriipostincgr)\t"
3211 << " f_Rdm:0x" << hex << f_Rdm << dec
3212 << " f_Rs:0x" << hex << f_Rs << dec
3213 << " f_imm12:0x" << hex << f_imm12 << dec
3214 << " f_op2m:0x" << hex << f_op2m << dec
3222 xstormy16_extract_sfmt_movgriipredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3223 xstormy16_insn_word insn = entire_insn;
3224 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3230 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3231 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3232 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3233 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3235 /* Record the fields for the semantic handler. */
3236 FLD (f_Rdm) = f_Rdm;
3238 FLD (f_imm12) = f_imm12;
3239 FLD (f_op2m) = f_op2m;
3240 if (UNLIKELY(current_cpu->trace_extract_p))
3242 current_cpu->trace_stream
3243 << "0x" << hex << pc << dec << " (sfmt_movgriipredecgr)\t"
3244 << " f_Rdm:0x" << hex << f_Rdm << dec
3245 << " f_Rs:0x" << hex << f_Rs << dec
3246 << " f_imm12:0x" << hex << f_imm12 << dec
3247 << " f_op2m:0x" << hex << f_op2m << dec
3255 xstormy16_extract_sfmt_movgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3256 xstormy16_insn_word insn = entire_insn;
3257 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3261 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3262 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3264 /* Record the fields for the semantic handler. */
3267 if (UNLIKELY(current_cpu->trace_extract_p))
3269 current_cpu->trace_stream
3270 << "0x" << hex << pc << dec << " (sfmt_movgrgr)\t"
3271 << " f_Rs:0x" << hex << f_Rs << dec
3272 << " f_Rd:0x" << hex << f_Rd << dec
3280 xstormy16_extract_sfmt_movwimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3281 xstormy16_insn_word insn = entire_insn;
3282 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
3285 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3287 /* Record the fields for the semantic handler. */
3288 FLD (f_imm8) = f_imm8;
3289 if (UNLIKELY(current_cpu->trace_extract_p))
3291 current_cpu->trace_stream
3292 << "0x" << hex << pc << dec << " (sfmt_movwimm8)\t"
3293 << " f_imm8:0x" << hex << f_imm8 << dec
3301 xstormy16_extract_sfmt_movwgrimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3302 xstormy16_insn_word insn = entire_insn;
3303 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
3307 f_Rm = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
3308 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3310 /* Record the fields for the semantic handler. */
3312 FLD (f_imm8) = f_imm8;
3313 if (UNLIKELY(current_cpu->trace_extract_p))
3315 current_cpu->trace_stream
3316 << "0x" << hex << pc << dec << " (sfmt_movwgrimm8)\t"
3317 << " f_Rm:0x" << hex << f_Rm << dec
3318 << " f_imm8:0x" << hex << f_imm8 << dec
3326 xstormy16_extract_sfmt_movwgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3327 xstormy16_insn_word insn = entire_insn;
3328 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
3332 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
3333 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3335 /* Record the fields for the semantic handler. */
3337 FLD (f_imm16) = f_imm16;
3338 if (UNLIKELY(current_cpu->trace_extract_p))
3340 current_cpu->trace_stream
3341 << "0x" << hex << pc << dec << " (sfmt_movwgrimm16)\t"
3342 << " f_Rd:0x" << hex << f_Rd << dec
3343 << " f_imm16:0x" << hex << f_imm16 << dec
3351 xstormy16_extract_sfmt_movlowgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3352 xstormy16_insn_word insn = entire_insn;
3353 #define FLD(f) abuf->fields.sfmt_jmp.f
3356 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3358 /* Record the fields for the semantic handler. */
3360 if (UNLIKELY(current_cpu->trace_extract_p))
3362 current_cpu->trace_stream
3363 << "0x" << hex << pc << dec << " (sfmt_movlowgr)\t"
3364 << " f_Rd:0x" << hex << f_Rd << dec
3372 xstormy16_extract_sfmt_movfgrgri (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3373 xstormy16_insn_word insn = entire_insn;
3374 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3379 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3380 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3381 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3383 /* Record the fields for the semantic handler. */
3385 FLD (f_Rdm) = f_Rdm;
3386 FLD (f_op2m) = f_op2m;
3387 if (UNLIKELY(current_cpu->trace_extract_p))
3389 current_cpu->trace_stream
3390 << "0x" << hex << pc << dec << " (sfmt_movfgrgri)\t"
3391 << " f_Rs:0x" << hex << f_Rs << dec
3392 << " f_Rdm:0x" << hex << f_Rdm << dec
3393 << " f_op2m:0x" << hex << f_op2m << dec
3401 xstormy16_extract_sfmt_movfgrgripostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3402 xstormy16_insn_word insn = entire_insn;
3403 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3408 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3409 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3410 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3412 /* Record the fields for the semantic handler. */
3414 FLD (f_Rdm) = f_Rdm;
3415 FLD (f_op2m) = f_op2m;
3416 if (UNLIKELY(current_cpu->trace_extract_p))
3418 current_cpu->trace_stream
3419 << "0x" << hex << pc << dec << " (sfmt_movfgrgripostinc)\t"
3420 << " f_Rs:0x" << hex << f_Rs << dec
3421 << " f_Rdm:0x" << hex << f_Rdm << dec
3422 << " f_op2m:0x" << hex << f_op2m << dec
3430 xstormy16_extract_sfmt_movfgrgripredec (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3431 xstormy16_insn_word insn = entire_insn;
3432 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3437 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3438 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3439 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3441 /* Record the fields for the semantic handler. */
3443 FLD (f_Rdm) = f_Rdm;
3444 FLD (f_op2m) = f_op2m;
3445 if (UNLIKELY(current_cpu->trace_extract_p))
3447 current_cpu->trace_stream
3448 << "0x" << hex << pc << dec << " (sfmt_movfgrgripredec)\t"
3449 << " f_Rs:0x" << hex << f_Rs << dec
3450 << " f_Rdm:0x" << hex << f_Rdm << dec
3451 << " f_op2m:0x" << hex << f_op2m << dec
3459 xstormy16_extract_sfmt_movfgrigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3460 xstormy16_insn_word insn = entire_insn;
3461 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3466 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3467 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3468 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3470 /* Record the fields for the semantic handler. */
3471 FLD (f_Rdm) = f_Rdm;
3473 FLD (f_op2m) = f_op2m;
3474 if (UNLIKELY(current_cpu->trace_extract_p))
3476 current_cpu->trace_stream
3477 << "0x" << hex << pc << dec << " (sfmt_movfgrigr)\t"
3478 << " f_Rdm:0x" << hex << f_Rdm << dec
3479 << " f_Rs:0x" << hex << f_Rs << dec
3480 << " f_op2m:0x" << hex << f_op2m << dec
3488 xstormy16_extract_sfmt_movfgripostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3489 xstormy16_insn_word insn = entire_insn;
3490 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3495 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3496 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3497 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3499 /* Record the fields for the semantic handler. */
3500 FLD (f_Rdm) = f_Rdm;
3502 FLD (f_op2m) = f_op2m;
3503 if (UNLIKELY(current_cpu->trace_extract_p))
3505 current_cpu->trace_stream
3506 << "0x" << hex << pc << dec << " (sfmt_movfgripostincgr)\t"
3507 << " f_Rdm:0x" << hex << f_Rdm << dec
3508 << " f_Rs:0x" << hex << f_Rs << dec
3509 << " f_op2m:0x" << hex << f_op2m << dec
3517 xstormy16_extract_sfmt_movfgripredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3518 xstormy16_insn_word insn = entire_insn;
3519 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3524 f_op2m = EXTRACT_MSB0_UINT (insn, 16, 7, 1);
3525 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3526 f_Rdm = EXTRACT_MSB0_UINT (insn, 16, 13, 3);
3528 /* Record the fields for the semantic handler. */
3529 FLD (f_Rdm) = f_Rdm;
3531 FLD (f_op2m) = f_op2m;
3532 if (UNLIKELY(current_cpu->trace_extract_p))
3534 current_cpu->trace_stream
3535 << "0x" << hex << pc << dec << " (sfmt_movfgripredecgr)\t"
3536 << " f_Rdm:0x" << hex << f_Rdm << dec
3537 << " f_Rs:0x" << hex << f_Rs << dec
3538 << " f_op2m:0x" << hex << f_op2m << dec
3546 xstormy16_extract_sfmt_movfgrgrii (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3547 xstormy16_insn_word insn = entire_insn;
3548 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3555 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3556 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3557 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3558 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3559 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3561 /* Record the fields for the semantic handler. */
3564 FLD (f_Rdm) = f_Rdm;
3565 FLD (f_imm12) = f_imm12;
3566 FLD (f_op2m) = f_op2m;
3567 if (UNLIKELY(current_cpu->trace_extract_p))
3569 current_cpu->trace_stream
3570 << "0x" << hex << pc << dec << " (sfmt_movfgrgrii)\t"
3571 << " f_Rb:0x" << hex << f_Rb << dec
3572 << " f_Rs:0x" << hex << f_Rs << dec
3573 << " f_Rdm:0x" << hex << f_Rdm << dec
3574 << " f_imm12:0x" << hex << f_imm12 << dec
3575 << " f_op2m:0x" << hex << f_op2m << dec
3583 xstormy16_extract_sfmt_movfgrgriipostinc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3584 xstormy16_insn_word insn = entire_insn;
3585 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3592 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3593 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3594 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3595 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3596 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3598 /* Record the fields for the semantic handler. */
3601 FLD (f_Rdm) = f_Rdm;
3602 FLD (f_imm12) = f_imm12;
3603 FLD (f_op2m) = f_op2m;
3604 if (UNLIKELY(current_cpu->trace_extract_p))
3606 current_cpu->trace_stream
3607 << "0x" << hex << pc << dec << " (sfmt_movfgrgriipostinc)\t"
3608 << " f_Rb:0x" << hex << f_Rb << dec
3609 << " f_Rs:0x" << hex << f_Rs << dec
3610 << " f_Rdm:0x" << hex << f_Rdm << dec
3611 << " f_imm12:0x" << hex << f_imm12 << dec
3612 << " f_op2m:0x" << hex << f_op2m << dec
3620 xstormy16_extract_sfmt_movfgrgriipredec (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_movfgrgrii.f
3629 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3630 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3631 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3632 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3633 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3635 /* Record the fields for the semantic handler. */
3638 FLD (f_Rdm) = f_Rdm;
3639 FLD (f_imm12) = f_imm12;
3640 FLD (f_op2m) = f_op2m;
3641 if (UNLIKELY(current_cpu->trace_extract_p))
3643 current_cpu->trace_stream
3644 << "0x" << hex << pc << dec << " (sfmt_movfgrgriipredec)\t"
3645 << " f_Rb:0x" << hex << f_Rb << dec
3646 << " f_Rs:0x" << hex << f_Rs << dec
3647 << " f_Rdm:0x" << hex << f_Rdm << dec
3648 << " f_imm12:0x" << hex << f_imm12 << dec
3649 << " f_op2m:0x" << hex << f_op2m << dec
3657 xstormy16_extract_sfmt_movfgriigr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3658 xstormy16_insn_word insn = entire_insn;
3659 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3666 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3667 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3668 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3669 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3670 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3672 /* Record the fields for the semantic handler. */
3674 FLD (f_Rdm) = f_Rdm;
3676 FLD (f_imm12) = f_imm12;
3677 FLD (f_op2m) = f_op2m;
3678 if (UNLIKELY(current_cpu->trace_extract_p))
3680 current_cpu->trace_stream
3681 << "0x" << hex << pc << dec << " (sfmt_movfgriigr)\t"
3682 << " f_Rb:0x" << hex << f_Rb << dec
3683 << " f_Rdm:0x" << hex << f_Rdm << dec
3684 << " f_Rs:0x" << hex << f_Rs << dec
3685 << " f_imm12:0x" << hex << f_imm12 << dec
3686 << " f_op2m:0x" << hex << f_op2m << dec
3694 xstormy16_extract_sfmt_movfgriipostincgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3695 xstormy16_insn_word insn = entire_insn;
3696 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3703 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3704 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3705 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3706 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3707 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3709 /* Record the fields for the semantic handler. */
3711 FLD (f_Rdm) = f_Rdm;
3713 FLD (f_imm12) = f_imm12;
3714 FLD (f_op2m) = f_op2m;
3715 if (UNLIKELY(current_cpu->trace_extract_p))
3717 current_cpu->trace_stream
3718 << "0x" << hex << pc << dec << " (sfmt_movfgriipostincgr)\t"
3719 << " f_Rb:0x" << hex << f_Rb << dec
3720 << " f_Rdm:0x" << hex << f_Rdm << dec
3721 << " f_Rs:0x" << hex << f_Rs << dec
3722 << " f_imm12:0x" << hex << f_imm12 << dec
3723 << " f_op2m:0x" << hex << f_op2m << dec
3731 xstormy16_extract_sfmt_movfgriipredecgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3732 xstormy16_insn_word insn = entire_insn;
3733 #define FLD(f) abuf->fields.sfmt_movfgrgrii.f
3740 f_op2m = EXTRACT_MSB0_UINT (insn, 32, 7, 1);
3741 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
3742 f_Rdm = EXTRACT_MSB0_UINT (insn, 32, 13, 3);
3743 f_Rb = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
3744 f_imm12 = EXTRACT_MSB0_SINT (insn, 32, 20, 12);
3746 /* Record the fields for the semantic handler. */
3748 FLD (f_Rdm) = f_Rdm;
3750 FLD (f_imm12) = f_imm12;
3751 FLD (f_op2m) = f_op2m;
3752 if (UNLIKELY(current_cpu->trace_extract_p))
3754 current_cpu->trace_stream
3755 << "0x" << hex << pc << dec << " (sfmt_movfgriipredecgr)\t"
3756 << " f_Rb:0x" << hex << f_Rb << dec
3757 << " f_Rdm:0x" << hex << f_Rdm << dec
3758 << " f_Rs:0x" << hex << f_Rs << dec
3759 << " f_imm12:0x" << hex << f_imm12 << dec
3760 << " f_op2m:0x" << hex << f_op2m << dec
3768 xstormy16_extract_sfmt_maskgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3769 xstormy16_insn_word insn = entire_insn;
3770 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3774 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3775 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3777 /* Record the fields for the semantic handler. */
3780 if (UNLIKELY(current_cpu->trace_extract_p))
3782 current_cpu->trace_stream
3783 << "0x" << hex << pc << dec << " (sfmt_maskgrgr)\t"
3784 << " f_Rd:0x" << hex << f_Rd << dec
3785 << " f_Rs:0x" << hex << f_Rs << dec
3793 xstormy16_extract_sfmt_maskgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3794 xstormy16_insn_word insn = entire_insn;
3795 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
3799 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
3800 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3802 /* Record the fields for the semantic handler. */
3804 FLD (f_imm16) = f_imm16;
3805 if (UNLIKELY(current_cpu->trace_extract_p))
3807 current_cpu->trace_stream
3808 << "0x" << hex << pc << dec << " (sfmt_maskgrimm16)\t"
3809 << " f_Rd:0x" << hex << f_Rd << dec
3810 << " f_imm16:0x" << hex << f_imm16 << dec
3818 xstormy16_extract_sfmt_pushgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3819 xstormy16_insn_word insn = entire_insn;
3820 #define FLD(f) abuf->fields.sfmt_jmp.f
3823 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3825 /* Record the fields for the semantic handler. */
3827 if (UNLIKELY(current_cpu->trace_extract_p))
3829 current_cpu->trace_stream
3830 << "0x" << hex << pc << dec << " (sfmt_pushgr)\t"
3831 << " f_Rd:0x" << hex << f_Rd << dec
3839 xstormy16_extract_sfmt_popgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3840 xstormy16_insn_word insn = entire_insn;
3841 #define FLD(f) abuf->fields.sfmt_jmp.f
3844 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3846 /* Record the fields for the semantic handler. */
3848 if (UNLIKELY(current_cpu->trace_extract_p))
3850 current_cpu->trace_stream
3851 << "0x" << hex << pc << dec << " (sfmt_popgr)\t"
3852 << " f_Rd:0x" << hex << f_Rd << dec
3860 xstormy16_extract_sfmt_swpn (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3861 xstormy16_insn_word insn = entire_insn;
3862 #define FLD(f) abuf->fields.sfmt_jmp.f
3865 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3867 /* Record the fields for the semantic handler. */
3869 if (UNLIKELY(current_cpu->trace_extract_p))
3871 current_cpu->trace_stream
3872 << "0x" << hex << pc << dec << " (sfmt_swpn)\t"
3873 << " f_Rd:0x" << hex << f_Rd << dec
3881 xstormy16_extract_sfmt_swpw (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3882 xstormy16_insn_word insn = entire_insn;
3883 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3887 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3888 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3890 /* Record the fields for the semantic handler. */
3893 if (UNLIKELY(current_cpu->trace_extract_p))
3895 current_cpu->trace_stream
3896 << "0x" << hex << pc << dec << " (sfmt_swpw)\t"
3897 << " f_Rd:0x" << hex << f_Rd << dec
3898 << " f_Rs:0x" << hex << f_Rs << dec
3906 xstormy16_extract_sfmt_andgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3907 xstormy16_insn_word insn = entire_insn;
3908 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
3912 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3913 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3915 /* Record the fields for the semantic handler. */
3918 if (UNLIKELY(current_cpu->trace_extract_p))
3920 current_cpu->trace_stream
3921 << "0x" << hex << pc << dec << " (sfmt_andgrgr)\t"
3922 << " f_Rd:0x" << hex << f_Rd << dec
3923 << " f_Rs:0x" << hex << f_Rs << dec
3931 xstormy16_extract_sfmt_andimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3932 xstormy16_insn_word insn = entire_insn;
3933 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
3936 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
3938 /* Record the fields for the semantic handler. */
3939 FLD (f_imm8) = f_imm8;
3940 if (UNLIKELY(current_cpu->trace_extract_p))
3942 current_cpu->trace_stream
3943 << "0x" << hex << pc << dec << " (sfmt_andimm8)\t"
3944 << " f_imm8:0x" << hex << f_imm8 << dec
3952 xstormy16_extract_sfmt_andgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3953 xstormy16_insn_word insn = entire_insn;
3954 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
3958 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
3959 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
3961 /* Record the fields for the semantic handler. */
3963 FLD (f_imm16) = f_imm16;
3964 if (UNLIKELY(current_cpu->trace_extract_p))
3966 current_cpu->trace_stream
3967 << "0x" << hex << pc << dec << " (sfmt_andgrimm16)\t"
3968 << " f_Rd:0x" << hex << f_Rd << dec
3969 << " f_imm16:0x" << hex << f_imm16 << dec
3977 xstormy16_extract_sfmt_addgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
3978 xstormy16_insn_word insn = entire_insn;
3979 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
3983 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
3984 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
3986 /* Record the fields for the semantic handler. */
3988 FLD (f_imm4) = f_imm4;
3989 if (UNLIKELY(current_cpu->trace_extract_p))
3991 current_cpu->trace_stream
3992 << "0x" << hex << pc << dec << " (sfmt_addgrimm4)\t"
3993 << " f_Rd:0x" << hex << f_Rd << dec
3994 << " f_imm4:0x" << hex << f_imm4 << dec
4002 xstormy16_extract_sfmt_adcgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4003 xstormy16_insn_word insn = entire_insn;
4004 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
4008 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4009 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4011 /* Record the fields for the semantic handler. */
4014 if (UNLIKELY(current_cpu->trace_extract_p))
4016 current_cpu->trace_stream
4017 << "0x" << hex << pc << dec << " (sfmt_adcgrgr)\t"
4018 << " f_Rd:0x" << hex << f_Rd << dec
4019 << " f_Rs:0x" << hex << f_Rs << dec
4027 xstormy16_extract_sfmt_adcgrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4028 xstormy16_insn_word insn = entire_insn;
4029 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
4033 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4034 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4036 /* Record the fields for the semantic handler. */
4038 FLD (f_imm4) = f_imm4;
4039 if (UNLIKELY(current_cpu->trace_extract_p))
4041 current_cpu->trace_stream
4042 << "0x" << hex << pc << dec << " (sfmt_adcgrimm4)\t"
4043 << " f_Rd:0x" << hex << f_Rd << dec
4044 << " f_imm4:0x" << hex << f_imm4 << dec
4052 xstormy16_extract_sfmt_adcimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4053 xstormy16_insn_word insn = entire_insn;
4054 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
4057 f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4059 /* Record the fields for the semantic handler. */
4060 FLD (f_imm8) = f_imm8;
4061 if (UNLIKELY(current_cpu->trace_extract_p))
4063 current_cpu->trace_stream
4064 << "0x" << hex << pc << dec << " (sfmt_adcimm8)\t"
4065 << " f_imm8:0x" << hex << f_imm8 << dec
4073 xstormy16_extract_sfmt_adcgrimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4074 xstormy16_insn_word insn = entire_insn;
4075 #define FLD(f) abuf->fields.sfmt_movwgrimm16.f
4079 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
4080 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4082 /* Record the fields for the semantic handler. */
4084 FLD (f_imm16) = f_imm16;
4085 if (UNLIKELY(current_cpu->trace_extract_p))
4087 current_cpu->trace_stream
4088 << "0x" << hex << pc << dec << " (sfmt_adcgrimm16)\t"
4089 << " f_Rd:0x" << hex << f_Rd << dec
4090 << " f_imm16:0x" << hex << f_imm16 << dec
4098 xstormy16_extract_sfmt_incgrimm2 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4099 xstormy16_insn_word insn = entire_insn;
4100 #define FLD(f) abuf->fields.sfmt_incgrimm2.f
4104 f_imm2 = EXTRACT_MSB0_UINT (insn, 16, 10, 2);
4105 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4107 /* Record the fields for the semantic handler. */
4109 FLD (f_imm2) = f_imm2;
4110 if (UNLIKELY(current_cpu->trace_extract_p))
4112 current_cpu->trace_stream
4113 << "0x" << hex << pc << dec << " (sfmt_incgrimm2)\t"
4114 << " f_Rd:0x" << hex << f_Rd << dec
4115 << " f_imm2:0x" << hex << f_imm2 << dec
4123 xstormy16_extract_sfmt_shrgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4124 xstormy16_insn_word insn = entire_insn;
4125 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
4129 f_Rs = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4130 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4132 /* Record the fields for the semantic handler. */
4135 if (UNLIKELY(current_cpu->trace_extract_p))
4137 current_cpu->trace_stream
4138 << "0x" << hex << pc << dec << " (sfmt_shrgrgr)\t"
4139 << " f_Rd:0x" << hex << f_Rd << dec
4140 << " f_Rs:0x" << hex << f_Rs << dec
4148 xstormy16_extract_sfmt_shrgrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4149 xstormy16_insn_word insn = entire_insn;
4150 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
4154 f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
4155 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4157 /* Record the fields for the semantic handler. */
4159 FLD (f_imm4) = f_imm4;
4160 if (UNLIKELY(current_cpu->trace_extract_p))
4162 current_cpu->trace_stream
4163 << "0x" << hex << pc << dec << " (sfmt_shrgrimm)\t"
4164 << " f_Rd:0x" << hex << f_Rd << dec
4165 << " f_imm4:0x" << hex << f_imm4 << dec
4173 xstormy16_extract_sfmt_set1lmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4174 xstormy16_insn_word insn = entire_insn;
4175 #define FLD(f) abuf->fields.sfmt_set1lmemimm.f
4179 f_imm3 = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
4180 f_lmem8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
4182 /* Record the fields for the semantic handler. */
4183 FLD (f_imm3) = f_imm3;
4184 FLD (f_lmem8) = f_lmem8;
4185 if (UNLIKELY(current_cpu->trace_extract_p))
4187 current_cpu->trace_stream
4188 << "0x" << hex << pc << dec << " (sfmt_set1lmemimm)\t"
4189 << " f_imm3:0x" << hex << f_imm3 << dec
4190 << " f_lmem8:0x" << hex << f_lmem8 << dec
4198 xstormy16_extract_sfmt_set1hmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4199 xstormy16_insn_word insn = entire_insn;
4200 #define FLD(f) abuf->fields.sfmt_set1hmemimm.f
4204 f_imm3 = EXTRACT_MSB0_UINT (insn, 16, 4, 3);
4205 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) + (32512));
4207 /* Record the fields for the semantic handler. */
4208 FLD (f_hmem8) = f_hmem8;
4209 FLD (f_imm3) = f_imm3;
4210 if (UNLIKELY(current_cpu->trace_extract_p))
4212 current_cpu->trace_stream
4213 << "0x" << hex << pc << dec << " (sfmt_set1hmemimm)\t"
4214 << " f_hmem8:0x" << hex << f_hmem8 << dec
4215 << " f_imm3:0x" << hex << f_imm3 << dec
4223 xstormy16_extract_sfmt_bccgrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4224 xstormy16_insn_word insn = entire_insn;
4225 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
4231 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4232 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
4233 f_op5 = EXTRACT_MSB0_UINT (insn, 32, 16, 4);
4234 f_rel12 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) + (((pc) + (4))));
4236 /* Record the fields for the semantic handler. */
4239 FLD (f_op5) = f_op5;
4240 FLD (f_rel12) = f_rel12;
4241 if (UNLIKELY(current_cpu->trace_extract_p))
4243 current_cpu->trace_stream
4244 << "0x" << hex << pc << dec << " (sfmt_bccgrgr)\t"
4245 << " f_Rd:0x" << hex << f_Rd << dec
4246 << " f_Rs:0x" << hex << f_Rs << dec
4247 << " f_op5:0x" << hex << f_op5 << dec
4248 << " f_rel12:0x" << hex << f_rel12 << dec
4256 xstormy16_extract_sfmt_bccgrimm8 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4257 xstormy16_insn_word insn = entire_insn;
4258 #define FLD(f) abuf->fields.sfmt_bccgrimm8.f
4264 f_Rm = EXTRACT_MSB0_UINT (insn, 32, 4, 3);
4265 f_imm8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4266 f_op5 = EXTRACT_MSB0_UINT (insn, 32, 16, 4);
4267 f_rel12 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) + (((pc) + (4))));
4269 /* Record the fields for the semantic handler. */
4271 FLD (f_op5) = f_op5;
4272 FLD (f_imm8) = f_imm8;
4273 FLD (f_rel12) = f_rel12;
4274 if (UNLIKELY(current_cpu->trace_extract_p))
4276 current_cpu->trace_stream
4277 << "0x" << hex << pc << dec << " (sfmt_bccgrimm8)\t"
4278 << " f_Rm:0x" << hex << f_Rm << dec
4279 << " f_op5:0x" << hex << f_op5 << dec
4280 << " f_imm8:0x" << hex << f_imm8 << dec
4281 << " f_rel12:0x" << hex << f_rel12 << dec
4289 xstormy16_extract_sfmt_bccimm16 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4290 xstormy16_insn_word insn = entire_insn;
4291 #define FLD(f) abuf->fields.sfmt_bccimm16.f
4296 f_op2 = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
4297 f_rel8_4 = ((EXTRACT_MSB0_SINT (insn, 32, 8, 8)) + (((pc) + (4))));
4298 f_imm16 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4300 /* Record the fields for the semantic handler. */
4301 FLD (f_op2) = f_op2;
4302 FLD (f_imm16) = f_imm16;
4303 FLD (f_rel8_4) = f_rel8_4;
4304 if (UNLIKELY(current_cpu->trace_extract_p))
4306 current_cpu->trace_stream
4307 << "0x" << hex << pc << dec << " (sfmt_bccimm16)\t"
4308 << " f_op2:0x" << hex << f_op2 << dec
4309 << " f_imm16:0x" << hex << f_imm16 << dec
4310 << " f_rel8_4:0x" << hex << f_rel8_4 << dec
4318 xstormy16_extract_sfmt_bngrimm4 (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4319 xstormy16_insn_word insn = entire_insn;
4320 #define FLD(f) abuf->fields.sfmt_bngrimm4.f
4325 f_imm4 = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4326 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
4327 f_rel12 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) + (((pc) + (4))));
4329 /* Record the fields for the semantic handler. */
4331 FLD (f_imm4) = f_imm4;
4332 FLD (f_rel12) = f_rel12;
4333 if (UNLIKELY(current_cpu->trace_extract_p))
4335 current_cpu->trace_stream
4336 << "0x" << hex << pc << dec << " (sfmt_bngrimm4)\t"
4337 << " f_Rd:0x" << hex << f_Rd << dec
4338 << " f_imm4:0x" << hex << f_imm4 << dec
4339 << " f_rel12:0x" << hex << f_rel12 << dec
4347 xstormy16_extract_sfmt_bngrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4348 xstormy16_insn_word insn = entire_insn;
4349 #define FLD(f) abuf->fields.sfmt_bccgrgr.f
4354 f_Rs = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
4355 f_Rd = EXTRACT_MSB0_UINT (insn, 32, 12, 4);
4356 f_rel12 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) + (((pc) + (4))));
4358 /* Record the fields for the semantic handler. */
4361 FLD (f_rel12) = f_rel12;
4362 if (UNLIKELY(current_cpu->trace_extract_p))
4364 current_cpu->trace_stream
4365 << "0x" << hex << pc << dec << " (sfmt_bngrgr)\t"
4366 << " f_Rd:0x" << hex << f_Rd << dec
4367 << " f_Rs:0x" << hex << f_Rs << dec
4368 << " f_rel12:0x" << hex << f_rel12 << dec
4376 xstormy16_extract_sfmt_bnlmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4377 xstormy16_insn_word insn = entire_insn;
4378 #define FLD(f) abuf->fields.sfmt_bnlmemimm.f
4383 f_lmem8 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4384 f_imm3b = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
4385 f_rel12 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) + (((pc) + (4))));
4387 /* Record the fields for the semantic handler. */
4388 FLD (f_imm3b) = f_imm3b;
4389 FLD (f_lmem8) = f_lmem8;
4390 FLD (f_rel12) = f_rel12;
4391 if (UNLIKELY(current_cpu->trace_extract_p))
4393 current_cpu->trace_stream
4394 << "0x" << hex << pc << dec << " (sfmt_bnlmemimm)\t"
4395 << " f_imm3b:0x" << hex << f_imm3b << dec
4396 << " f_lmem8:0x" << hex << f_lmem8 << dec
4397 << " f_rel12:0x" << hex << f_rel12 << dec
4405 xstormy16_extract_sfmt_bnhmemimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4406 xstormy16_insn_word insn = entire_insn;
4407 #define FLD(f) abuf->fields.sfmt_bnhmemimm.f
4412 f_hmem8 = ((EXTRACT_MSB0_UINT (insn, 32, 8, 8)) + (32512));
4413 f_imm3b = EXTRACT_MSB0_UINT (insn, 32, 17, 3);
4414 f_rel12 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) + (((pc) + (4))));
4416 /* Record the fields for the semantic handler. */
4417 FLD (f_hmem8) = f_hmem8;
4418 FLD (f_imm3b) = f_imm3b;
4419 FLD (f_rel12) = f_rel12;
4420 if (UNLIKELY(current_cpu->trace_extract_p))
4422 current_cpu->trace_stream
4423 << "0x" << hex << pc << dec << " (sfmt_bnhmemimm)\t"
4424 << " f_hmem8:0x" << hex << f_hmem8 << dec
4425 << " f_imm3b:0x" << hex << f_imm3b << dec
4426 << " f_rel12:0x" << hex << f_rel12 << dec
4434 xstormy16_extract_sfmt_bcc (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4435 xstormy16_insn_word insn = entire_insn;
4436 #define FLD(f) abuf->fields.sfmt_bcc.f
4440 f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
4441 f_rel8_2 = ((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) + (((pc) + (2))));
4443 /* Record the fields for the semantic handler. */
4444 FLD (f_op2) = f_op2;
4445 FLD (f_rel8_2) = f_rel8_2;
4446 if (UNLIKELY(current_cpu->trace_extract_p))
4448 current_cpu->trace_stream
4449 << "0x" << hex << pc << dec << " (sfmt_bcc)\t"
4450 << " f_op2:0x" << hex << f_op2 << dec
4451 << " f_rel8_2:0x" << hex << f_rel8_2 << dec
4459 xstormy16_extract_sfmt_bgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4460 xstormy16_insn_word insn = entire_insn;
4461 #define FLD(f) abuf->fields.sfmt_jmp.f
4464 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4466 /* Record the fields for the semantic handler. */
4468 if (UNLIKELY(current_cpu->trace_extract_p))
4470 current_cpu->trace_stream
4471 << "0x" << hex << pc << dec << " (sfmt_bgr)\t"
4472 << " f_Rd:0x" << hex << f_Rd << dec
4480 xstormy16_extract_sfmt_br (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4481 xstormy16_insn_word insn = entire_insn;
4482 #define FLD(f) abuf->fields.sfmt_br.f
4485 f_rel12a = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 11)) << (1))) + (((pc) + (2))));
4487 /* Record the fields for the semantic handler. */
4488 FLD (f_rel12a) = f_rel12a;
4489 if (UNLIKELY(current_cpu->trace_extract_p))
4491 current_cpu->trace_stream
4492 << "0x" << hex << pc << dec << " (sfmt_br)\t"
4493 << " f_rel12a:0x" << hex << f_rel12a << dec
4501 xstormy16_extract_sfmt_jmp (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4502 xstormy16_insn_word insn = entire_insn;
4503 #define FLD(f) abuf->fields.sfmt_jmp.f
4507 f_Rbj = EXTRACT_MSB0_UINT (insn, 16, 11, 1);
4508 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4510 /* Record the fields for the semantic handler. */
4511 FLD (f_Rbj) = f_Rbj;
4513 if (UNLIKELY(current_cpu->trace_extract_p))
4515 current_cpu->trace_stream
4516 << "0x" << hex << pc << dec << " (sfmt_jmp)\t"
4517 << " f_Rbj:0x" << hex << f_Rbj << dec
4518 << " f_Rd:0x" << hex << f_Rd << dec
4526 xstormy16_extract_sfmt_jmpf (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4527 xstormy16_insn_word insn = entire_insn;
4528 #define FLD(f) abuf->fields.sfmt_jmpf.f
4533 f_abs24_1 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4534 f_abs24_2 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4535 f_abs24 = ((((f_abs24_2) << (8))) | (f_abs24_1));
4537 /* Record the fields for the semantic handler. */
4538 FLD (f_abs24) = f_abs24;
4539 if (UNLIKELY(current_cpu->trace_extract_p))
4541 current_cpu->trace_stream
4542 << "0x" << hex << pc << dec << " (sfmt_jmpf)\t"
4543 << " f_abs24:0x" << hex << f_abs24 << dec
4551 xstormy16_extract_sfmt_callrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4552 xstormy16_insn_word insn = entire_insn;
4553 #define FLD(f) abuf->fields.sfmt_jmp.f
4556 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4558 /* Record the fields for the semantic handler. */
4560 if (UNLIKELY(current_cpu->trace_extract_p))
4562 current_cpu->trace_stream
4563 << "0x" << hex << pc << dec << " (sfmt_callrgr)\t"
4564 << " f_Rd:0x" << hex << f_Rd << dec
4572 xstormy16_extract_sfmt_callrimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4573 xstormy16_insn_word insn = entire_insn;
4574 #define FLD(f) abuf->fields.sfmt_br.f
4577 f_rel12a = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 11)) << (1))) + (((pc) + (2))));
4579 /* Record the fields for the semantic handler. */
4580 FLD (f_rel12a) = f_rel12a;
4581 if (UNLIKELY(current_cpu->trace_extract_p))
4583 current_cpu->trace_stream
4584 << "0x" << hex << pc << dec << " (sfmt_callrimm)\t"
4585 << " f_rel12a:0x" << hex << f_rel12a << dec
4593 xstormy16_extract_sfmt_callgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4594 xstormy16_insn_word insn = entire_insn;
4595 #define FLD(f) abuf->fields.sfmt_jmp.f
4599 f_Rbj = EXTRACT_MSB0_UINT (insn, 16, 11, 1);
4600 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4602 /* Record the fields for the semantic handler. */
4603 FLD (f_Rbj) = f_Rbj;
4605 if (UNLIKELY(current_cpu->trace_extract_p))
4607 current_cpu->trace_stream
4608 << "0x" << hex << pc << dec << " (sfmt_callgr)\t"
4609 << " f_Rbj:0x" << hex << f_Rbj << dec
4610 << " f_Rd:0x" << hex << f_Rd << dec
4618 xstormy16_extract_sfmt_callfimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4619 xstormy16_insn_word insn = entire_insn;
4620 #define FLD(f) abuf->fields.sfmt_jmpf.f
4625 f_abs24_1 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4626 f_abs24_2 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4627 f_abs24 = ((((f_abs24_2) << (8))) | (f_abs24_1));
4629 /* Record the fields for the semantic handler. */
4630 FLD (f_abs24) = f_abs24;
4631 if (UNLIKELY(current_cpu->trace_extract_p))
4633 current_cpu->trace_stream
4634 << "0x" << hex << pc << dec << " (sfmt_callfimm)\t"
4635 << " f_abs24:0x" << hex << f_abs24 << dec
4643 xstormy16_extract_sfmt_icallrgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4644 xstormy16_insn_word insn = entire_insn;
4645 #define FLD(f) abuf->fields.sfmt_jmp.f
4648 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4650 /* Record the fields for the semantic handler. */
4652 if (UNLIKELY(current_cpu->trace_extract_p))
4654 current_cpu->trace_stream
4655 << "0x" << hex << pc << dec << " (sfmt_icallrgr)\t"
4656 << " f_Rd:0x" << hex << f_Rd << dec
4664 xstormy16_extract_sfmt_icallgr (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4665 xstormy16_insn_word insn = entire_insn;
4666 #define FLD(f) abuf->fields.sfmt_jmp.f
4670 f_Rbj = EXTRACT_MSB0_UINT (insn, 16, 11, 1);
4671 f_Rd = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
4673 /* Record the fields for the semantic handler. */
4674 FLD (f_Rbj) = f_Rbj;
4676 if (UNLIKELY(current_cpu->trace_extract_p))
4678 current_cpu->trace_stream
4679 << "0x" << hex << pc << dec << " (sfmt_icallgr)\t"
4680 << " f_Rbj:0x" << hex << f_Rbj << dec
4681 << " f_Rd:0x" << hex << f_Rd << dec
4689 xstormy16_extract_sfmt_icallfimm (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4690 xstormy16_insn_word insn = entire_insn;
4691 #define FLD(f) abuf->fields.sfmt_jmpf.f
4696 f_abs24_1 = EXTRACT_MSB0_UINT (insn, 32, 8, 8);
4697 f_abs24_2 = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
4698 f_abs24 = ((((f_abs24_2) << (8))) | (f_abs24_1));
4700 /* Record the fields for the semantic handler. */
4701 FLD (f_abs24) = f_abs24;
4702 if (UNLIKELY(current_cpu->trace_extract_p))
4704 current_cpu->trace_stream
4705 << "0x" << hex << pc << dec << " (sfmt_icallfimm)\t"
4706 << " f_abs24:0x" << hex << f_abs24 << dec
4714 xstormy16_extract_sfmt_iret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4715 xstormy16_insn_word insn = entire_insn;
4716 #define FLD(f) abuf->fields.fmt_empty.f
4719 /* Record the fields for the semantic handler. */
4720 if (UNLIKELY(current_cpu->trace_extract_p))
4722 current_cpu->trace_stream
4723 << "0x" << hex << pc << dec << " (sfmt_iret)\t"
4731 xstormy16_extract_sfmt_ret (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4732 xstormy16_insn_word insn = entire_insn;
4733 #define FLD(f) abuf->fields.fmt_empty.f
4736 /* Record the fields for the semantic handler. */
4737 if (UNLIKELY(current_cpu->trace_extract_p))
4739 current_cpu->trace_stream
4740 << "0x" << hex << pc << dec << " (sfmt_ret)\t"
4748 xstormy16_extract_sfmt_mul (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4749 xstormy16_insn_word insn = entire_insn;
4750 #define FLD(f) abuf->fields.fmt_empty.f
4753 /* Record the fields for the semantic handler. */
4754 if (UNLIKELY(current_cpu->trace_extract_p))
4756 current_cpu->trace_stream
4757 << "0x" << hex << pc << dec << " (sfmt_mul)\t"
4765 xstormy16_extract_sfmt_sdivlh (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4766 xstormy16_insn_word insn = entire_insn;
4767 #define FLD(f) abuf->fields.fmt_empty.f
4770 /* Record the fields for the semantic handler. */
4771 if (UNLIKELY(current_cpu->trace_extract_p))
4773 current_cpu->trace_stream
4774 << "0x" << hex << pc << dec << " (sfmt_sdivlh)\t"
4782 xstormy16_extract_sfmt_reset (xstormy16_scache* abuf, xstormy16_cpu* current_cpu, PCADDR pc, xstormy16_insn_word base_insn, xstormy16_insn_word entire_insn){
4783 xstormy16_insn_word insn = entire_insn;
4784 #define FLD(f) abuf->fields.fmt_empty.f
4787 /* Record the fields for the semantic handler. */
4788 if (UNLIKELY(current_cpu->trace_extract_p))
4790 current_cpu->trace_stream
4791 << "0x" << hex << pc << dec << " (sfmt_reset)\t"