THIS FILE IS MACHINE GENERATED WITH CGEN.
-Copyright (C) 2000-2004 Red Hat, Inc.
+Copyright (C) 2000-2005 Red Hat, Inc.
This file is part of the Red Hat simulators.
unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_NOP; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_SYSCALL; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 2 : itype = XSTORMY16_INSN_IRET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_iret (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 3 : itype = XSTORMY16_INSN_RET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 5 : itype = XSTORMY16_INSN_BRK; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0x0)
+ { itype = XSTORMY16_INSN_NOP; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0x1)
+ { itype = XSTORMY16_INSN_SYSCALL; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0x2)
+ { itype = XSTORMY16_INSN_IRET; xstormy16_extract_sfmt_iret (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 3 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0x3)
+ { itype = XSTORMY16_INSN_RET; xstormy16_extract_sfmt_ret (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 5 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0x5)
+ { itype = XSTORMY16_INSN_BRK; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 8 : /* fall through */
case 9 : /* fall through */
case 10 : /* fall through */
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : /* fall through */
- case 15 : itype = XSTORMY16_INSN_CALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 15 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x10)
+ { itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 16 : /* fall through */
case 17 : /* fall through */
case 18 : /* fall through */
case 20 : /* fall through */
case 21 : /* fall through */
case 22 : /* fall through */
- case 23 : itype = XSTORMY16_INSN_BGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 23 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x20)
+ { itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 24 : /* fall through */
case 25 : /* fall through */
case 26 : /* fall through */
case 28 : /* fall through */
case 29 : /* fall through */
case 30 : /* fall through */
- case 31 : itype = XSTORMY16_INSN_ICALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 31 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x30)
+ { itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 1 :
unsigned int val = (((insn >> 17) & (3 << 3)) | ((insn >> 16) & (7 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_HALT; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 2 : itype = XSTORMY16_INSN_HOLD; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 3 : itype = XSTORMY16_INSN_HOLDX; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 7 : itype = XSTORMY16_INSN_RESET; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0x8)
+ { itype = XSTORMY16_INSN_HALT; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0xa)
+ { itype = XSTORMY16_INSN_HOLD; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 3 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0xb)
+ { itype = XSTORMY16_INSN_HOLDX; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 7 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0xf)
+ { itype = XSTORMY16_INSN_RESET; xstormy16_extract_sfmt_reset (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 8 : /* fall through */
case 9 : /* fall through */
case 10 : /* fall through */
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : /* fall through */
- case 15 : itype = XSTORMY16_INSN_CALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 15 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x10)
+ { itype = XSTORMY16_INSN_CALLRGR; xstormy16_extract_sfmt_callrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 16 : /* fall through */
case 17 : /* fall through */
case 18 : /* fall through */
case 20 : /* fall through */
case 21 : /* fall through */
case 22 : /* fall through */
- case 23 : itype = XSTORMY16_INSN_BGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 23 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x20)
+ { itype = XSTORMY16_INSN_BGR; xstormy16_extract_sfmt_bgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 24 : /* fall through */
case 25 : /* fall through */
case 26 : /* fall through */
case 28 : /* fall through */
case 29 : /* fall through */
case 30 : /* fall through */
- case 31 : itype = XSTORMY16_INSN_ICALLRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 31 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x30)
+ { itype = XSTORMY16_INSN_ICALLRGR; xstormy16_extract_sfmt_icallrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 2 : /* fall through */
unsigned int val = (((insn >> 21) & (1 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_JMP; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_ICALLGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_icallgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffe0) == 0x40)
+ { itype = XSTORMY16_INSN_JMP; xstormy16_extract_sfmt_jmp (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffe0) == 0x60)
+ { itype = XSTORMY16_INSN_ICALLGR; xstormy16_extract_sfmt_icallgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 4 : /* fall through */
unsigned int val = (((insn >> 20) & (3 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_PUSHGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_pushgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_POPGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_popgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x80)
+ { itype = XSTORMY16_INSN_PUSHGR; xstormy16_extract_sfmt_pushgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x90)
+ { itype = XSTORMY16_INSN_POPGR; xstormy16_extract_sfmt_popgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 2 : /* fall through */
- case 3 : itype = XSTORMY16_INSN_CALLGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 3 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffe0) == 0xa0)
+ { itype = XSTORMY16_INSN_CALLGR; xstormy16_extract_sfmt_callgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 6 :
unsigned int val = (((insn >> 20) & (3 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_DIV; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_MUL; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 2 : itype = XSTORMY16_INSN_DIVLH; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0xc0)
+ { itype = XSTORMY16_INSN_DIV; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0xd0)
+ { itype = XSTORMY16_INSN_MUL; xstormy16_extract_sfmt_mul (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0xe0)
+ { itype = XSTORMY16_INSN_DIVLH; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 7 :
unsigned int val = (((insn >> 21) & (1 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_SDIV; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdiv (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_SDIVLH; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0xc8)
+ { itype = XSTORMY16_INSN_SDIV; xstormy16_extract_sfmt_sdiv (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffff) == 0xe8)
+ { itype = XSTORMY16_INSN_SDIVLH; xstormy16_extract_sfmt_sdivlh (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 8 : /* fall through */
case 12 : /* fall through */
case 13 : /* fall through */
case 14 : /* fall through */
- case 15 : itype = XSTORMY16_INSN_CALLFIMM; xstormy16_extract_sfmt_callfimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 15 :
+ if ((entire_insn & 0xff000000) == 0x1000000)
+ { itype = XSTORMY16_INSN_CALLFIMM; xstormy16_extract_sfmt_callfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 16 : /* fall through */
case 17 : /* fall through */
case 18 : /* fall through */
case 20 : /* fall through */
case 21 : /* fall through */
case 22 : /* fall through */
- case 23 : itype = XSTORMY16_INSN_JMPF; xstormy16_extract_sfmt_jmpf (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 23 :
+ if ((entire_insn & 0xff000000) == 0x2000000)
+ { itype = XSTORMY16_INSN_JMPF; xstormy16_extract_sfmt_jmpf (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 24 : /* fall through */
case 25 : /* fall through */
case 26 : /* fall through */
case 28 : /* fall through */
case 29 : /* fall through */
case 30 : /* fall through */
- case 31 : itype = XSTORMY16_INSN_ICALLFIMM; xstormy16_extract_sfmt_icallfimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 31 :
+ if ((entire_insn & 0xff000000) == 0x3000000)
+ { itype = XSTORMY16_INSN_ICALLFIMM; xstormy16_extract_sfmt_icallfimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 32 : /* fall through */
case 33 : /* fall through */
case 34 : /* fall through */
case 36 : /* fall through */
case 37 : /* fall through */
case 38 : /* fall through */
- case 39 : itype = XSTORMY16_INSN_BNGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 39 :
+ if ((entire_insn & 0xff00f000) == 0x4000000)
+ { itype = XSTORMY16_INSN_BNGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 40 : /* fall through */
case 41 : /* fall through */
case 42 : /* fall through */
case 44 : /* fall through */
case 45 : /* fall through */
case 46 : /* fall through */
- case 47 : itype = XSTORMY16_INSN_BPGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 47 :
+ if ((entire_insn & 0xff00f000) == 0x5000000)
+ { itype = XSTORMY16_INSN_BPGRIMM4; xstormy16_extract_sfmt_bngrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 48 : /* fall through */
case 49 : /* fall through */
case 50 : /* fall through */
case 52 : /* fall through */
case 53 : /* fall through */
case 54 : /* fall through */
- case 55 : itype = XSTORMY16_INSN_BNGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 55 :
+ if ((entire_insn & 0xff00f000) == 0x6000000)
+ { itype = XSTORMY16_INSN_BNGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 56 : /* fall through */
case 57 : /* fall through */
case 58 : /* fall through */
case 60 : /* fall through */
case 61 : /* fall through */
case 62 : /* fall through */
- case 63 : itype = XSTORMY16_INSN_BPGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 63 :
+ if ((entire_insn & 0xff00f000) == 0x7000000)
+ { itype = XSTORMY16_INSN_BPGRGR; xstormy16_extract_sfmt_bngrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 64 : /* fall through */
case 65 : /* fall through */
case 66 : /* fall through */
case 68 : /* fall through */
case 69 : /* fall through */
case 70 : /* fall through */
- case 71 : itype = XSTORMY16_INSN_CLR1GRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 71 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x800)
+ { itype = XSTORMY16_INSN_CLR1GRIMM; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 72 : /* fall through */
case 73 : /* fall through */
case 74 : /* fall through */
case 76 : /* fall through */
case 77 : /* fall through */
case 78 : /* fall through */
- case 79 : itype = XSTORMY16_INSN_SET1GRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 79 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x900)
+ { itype = XSTORMY16_INSN_SET1GRIMM; xstormy16_extract_sfmt_set1grimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 80 : /* fall through */
case 81 : /* fall through */
case 82 : /* fall through */
case 84 : /* fall through */
case 85 : /* fall through */
case 86 : /* fall through */
- case 87 : itype = XSTORMY16_INSN_CLR1GRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 87 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0xa00)
+ { itype = XSTORMY16_INSN_CLR1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 88 : /* fall through */
case 89 : /* fall through */
case 90 : /* fall through */
case 92 : /* fall through */
case 93 : /* fall through */
case 94 : /* fall through */
- case 95 : itype = XSTORMY16_INSN_SET1GRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 95 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0xb00)
+ { itype = XSTORMY16_INSN_SET1GRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 104 : /* fall through */
case 105 : /* fall through */
case 106 : /* fall through */
case 108 : /* fall through */
case 109 : /* fall through */
case 110 : /* fall through */
- case 111 : itype = XSTORMY16_INSN_BCCGRGR; xstormy16_extract_sfmt_bccgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 111 :
+ if ((entire_insn & 0xff000000) == 0xd000000)
+ { itype = XSTORMY16_INSN_BCCGRGR; xstormy16_extract_sfmt_bccgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 128 : /* fall through */
case 129 : /* fall through */
case 130 : /* fall through */
unsigned int val = (((insn >> 16) & (1 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_BR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_br (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_CALLRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_callrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf001) == 0x1000)
+ { itype = XSTORMY16_INSN_BR; xstormy16_extract_sfmt_br (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf001) == 0x1001)
+ { itype = XSTORMY16_INSN_CALLRIMM; xstormy16_extract_sfmt_callrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 256 : /* fall through */
case 372 : /* fall through */
case 373 : /* fall through */
case 374 : /* fall through */
- case 375 : itype = XSTORMY16_INSN_BCCGRIMM8; xstormy16_extract_sfmt_bccgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 375 :
+ if ((entire_insn & 0xf1000000) == 0x20000000)
+ { itype = XSTORMY16_INSN_BCCGRIMM8; xstormy16_extract_sfmt_bccgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 264 : /* fall through */
case 265 : /* fall through */
case 266 : /* fall through */
case 380 : /* fall through */
case 381 : /* fall through */
case 382 : /* fall through */
- case 383 : itype = XSTORMY16_INSN_MOVWGRIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movwgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 383 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf100) == 0x2100)
+ { itype = XSTORMY16_INSN_MOVWGRIMM8; xstormy16_extract_sfmt_movwgrimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 384 : /* fall through */
- case 385 : itype = XSTORMY16_INSN_INCGRIMM2; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 385 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffc0) == 0x3000)
+ { itype = XSTORMY16_INSN_INCGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 386 : /* fall through */
- case 387 : itype = XSTORMY16_INSN_DECGRIMM2; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 387 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xffc0) == 0x3040)
+ { itype = XSTORMY16_INSN_DECGRIMM2; xstormy16_extract_sfmt_incgrimm2 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 388 : /* fall through */
case 389 :
{
unsigned int val = (((insn >> 20) & (3 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_SWPB; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_SWPN; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 2 : itype = XSTORMY16_INSN_CBWGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 3 : itype = XSTORMY16_INSN_NOTGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x3080)
+ { itype = XSTORMY16_INSN_SWPB; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x3090)
+ { itype = XSTORMY16_INSN_SWPN; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x30a0)
+ { itype = XSTORMY16_INSN_CBWGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 3 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x30b0)
+ { itype = XSTORMY16_INSN_NOTGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 390 : /* fall through */
unsigned int val = (((insn >> 20) & (3 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_MOVLOWGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_MOVHIGHGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 2 : itype = XSTORMY16_INSN_MASKGRIMM16; xstormy16_extract_sfmt_maskgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 3 : itype = XSTORMY16_INSN_REVGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x30c0)
+ { itype = XSTORMY16_INSN_MOVLOWGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x30d0)
+ { itype = XSTORMY16_INSN_MOVHIGHGR; xstormy16_extract_sfmt_movlowgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2 :
+ if ((entire_insn & 0xfff00000) == 0x30e00000)
+ { itype = XSTORMY16_INSN_MASKGRIMM16; xstormy16_extract_sfmt_maskgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 3 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfff0) == 0x30f0)
+ { itype = XSTORMY16_INSN_REVGR; xstormy16_extract_sfmt_swpn (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 392 : /* fall through */
unsigned int val = (((insn >> 20) & (3 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_ANDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_ORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 2 : itype = XSTORMY16_INSN_XORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 3 : itype = XSTORMY16_INSN_MOVWGRIMM16; xstormy16_extract_sfmt_movwgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ if ((entire_insn & 0xfff00000) == 0x31000000)
+ { itype = XSTORMY16_INSN_ANDGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ if ((entire_insn & 0xfff00000) == 0x31100000)
+ { itype = XSTORMY16_INSN_ORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2 :
+ if ((entire_insn & 0xfff00000) == 0x31200000)
+ { itype = XSTORMY16_INSN_XORGRIMM16; xstormy16_extract_sfmt_andgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 3 :
+ if ((entire_insn & 0xfff00000) == 0x31300000)
+ { itype = XSTORMY16_INSN_MOVWGRIMM16; xstormy16_extract_sfmt_movwgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 394 : /* fall through */
unsigned int val = (((insn >> 20) & (3 << 0)));
switch (val)
{
- case 0 : itype = XSTORMY16_INSN_ADDGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 1 : itype = XSTORMY16_INSN_ADCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 2 : itype = XSTORMY16_INSN_SUBGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- case 3 : itype = XSTORMY16_INSN_SBCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 0 :
+ if ((entire_insn & 0xfff00000) == 0x31400000)
+ { itype = XSTORMY16_INSN_ADDGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1 :
+ if ((entire_insn & 0xfff00000) == 0x31500000)
+ { itype = XSTORMY16_INSN_ADCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2 :
+ if ((entire_insn & 0xfff00000) == 0x31600000)
+ { itype = XSTORMY16_INSN_SUBGRIMM16; xstormy16_extract_sfmt_addgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 3 :
+ if ((entire_insn & 0xfff00000) == 0x31700000)
+ { itype = XSTORMY16_INSN_SBCGRIMM16; xstormy16_extract_sfmt_adcgrimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
case 400 : /* fall through */
case 404 : /* fall through */
case 405 : /* fall through */
case 406 : /* fall through */
- case 407 : itype = XSTORMY16_INSN_SWPW; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_swpw (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 407 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3200)
+ { itype = XSTORMY16_INSN_SWPW; xstormy16_extract_sfmt_swpw (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 408 : /* fall through */
case 409 : /* fall through */
case 410 : /* fall through */
case 412 : /* fall through */
case 413 : /* fall through */
case 414 : /* fall through */
- case 415 : itype = XSTORMY16_INSN_MASKGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_maskgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 415 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3300)
+ { itype = XSTORMY16_INSN_MASKGRGR; xstormy16_extract_sfmt_maskgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 432 : /* fall through */
case 433 : /* fall through */
case 434 : /* fall through */
case 436 : /* fall through */
case 437 : /* fall through */
case 438 : /* fall through */
- case 439 : itype = XSTORMY16_INSN_ASRGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_asrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 439 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3600)
+ { itype = XSTORMY16_INSN_ASRGRGR; xstormy16_extract_sfmt_asrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 440 : /* fall through */
case 441 : /* fall through */
case 442 : /* fall through */
case 444 : /* fall through */
case 445 : /* fall through */
case 446 : /* fall through */
- case 447 : itype = XSTORMY16_INSN_ASRGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_asrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 447 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3700)
+ { itype = XSTORMY16_INSN_ASRGRIMM; xstormy16_extract_sfmt_asrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 448 : /* fall through */
case 449 : /* fall through */
case 450 : /* fall through */
case 452 : /* fall through */
case 453 : /* fall through */
case 454 : /* fall through */
- case 455 : itype = XSTORMY16_INSN_RRCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 455 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3800)
+ { itype = XSTORMY16_INSN_RRCGRGR; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 456 : /* fall through */
case 457 : /* fall through */
case 458 : /* fall through */
case 460 : /* fall through */
case 461 : /* fall through */
case 462 : /* fall through */
- case 463 : itype = XSTORMY16_INSN_RRCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 463 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3900)
+ { itype = XSTORMY16_INSN_RRCGRIMM4; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 464 : /* fall through */
case 465 : /* fall through */
case 466 : /* fall through */
case 468 : /* fall through */
case 469 : /* fall through */
case 470 : /* fall through */
- case 471 : itype = XSTORMY16_INSN_RLCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 471 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3a00)
+ { itype = XSTORMY16_INSN_RLCGRGR; xstormy16_extract_sfmt_rrcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 472 : /* fall through */
case 473 : /* fall through */
case 474 : /* fall through */
case 476 : /* fall through */
case 477 : /* fall through */
case 478 : /* fall through */
- case 479 : itype = XSTORMY16_INSN_RLCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 479 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3b00)
+ { itype = XSTORMY16_INSN_RLCGRIMM4; xstormy16_extract_sfmt_rrcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 480 : /* fall through */
case 481 : /* fall through */
case 482 : /* fall through */
case 484 : /* fall through */
case 485 : /* fall through */
case 486 : /* fall through */
- case 487 : itype = XSTORMY16_INSN_SHRGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 487 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3c00)
+ { itype = XSTORMY16_INSN_SHRGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 488 : /* fall through */
case 489 : /* fall through */
case 490 : /* fall through */
case 492 : /* fall through */
case 493 : /* fall through */
case 494 : /* fall through */
- case 495 : itype = XSTORMY16_INSN_SHRGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 495 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3d00)
+ { itype = XSTORMY16_INSN_SHRGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 496 : /* fall through */
case 497 : /* fall through */
case 498 : /* fall through */
case 500 : /* fall through */
case 501 : /* fall through */
case 502 : /* fall through */
- case 503 : itype = XSTORMY16_INSN_SHLGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 503 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3e00)
+ { itype = XSTORMY16_INSN_SHLGRGR; xstormy16_extract_sfmt_shrgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 504 : /* fall through */
case 505 : /* fall through */
case 506 : /* fall through */
case 508 : /* fall through */
case 509 : /* fall through */
case 510 : /* fall through */
- case 511 : itype = XSTORMY16_INSN_SHLGRIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 511 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x3f00)
+ { itype = XSTORMY16_INSN_SHLGRIMM; xstormy16_extract_sfmt_shrgrimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 512 : /* fall through */
case 513 : /* fall through */
case 514 : /* fall through */
case 516 : /* fall through */
case 517 : /* fall through */
case 518 : /* fall through */
- case 519 : itype = XSTORMY16_INSN_ANDGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 519 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4000)
+ { itype = XSTORMY16_INSN_ANDGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 520 : /* fall through */
case 521 : /* fall through */
case 522 : /* fall through */
case 524 : /* fall through */
case 525 : /* fall through */
case 526 : /* fall through */
- case 527 : itype = XSTORMY16_INSN_ANDIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 527 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4100)
+ { itype = XSTORMY16_INSN_ANDIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 528 : /* fall through */
case 529 : /* fall through */
case 530 : /* fall through */
case 532 : /* fall through */
case 533 : /* fall through */
case 534 : /* fall through */
- case 535 : itype = XSTORMY16_INSN_ORGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 535 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4200)
+ { itype = XSTORMY16_INSN_ORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 536 : /* fall through */
case 537 : /* fall through */
case 538 : /* fall through */
case 540 : /* fall through */
case 541 : /* fall through */
case 542 : /* fall through */
- case 543 : itype = XSTORMY16_INSN_ORIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 543 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4300)
+ { itype = XSTORMY16_INSN_ORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 544 : /* fall through */
case 545 : /* fall through */
case 546 : /* fall through */
case 548 : /* fall through */
case 549 : /* fall through */
case 550 : /* fall through */
- case 551 : itype = XSTORMY16_INSN_XORGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 551 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4400)
+ { itype = XSTORMY16_INSN_XORGRGR; xstormy16_extract_sfmt_andgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 552 : /* fall through */
case 553 : /* fall through */
case 554 : /* fall through */
case 556 : /* fall through */
case 557 : /* fall through */
case 558 : /* fall through */
- case 559 : itype = XSTORMY16_INSN_XORIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 559 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4500)
+ { itype = XSTORMY16_INSN_XORIMM8; xstormy16_extract_sfmt_andimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 560 : /* fall through */
case 561 : /* fall through */
case 562 : /* fall through */
case 564 : /* fall through */
case 565 : /* fall through */
case 566 : /* fall through */
- case 567 : itype = XSTORMY16_INSN_MOVGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 567 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4600)
+ { itype = XSTORMY16_INSN_MOVGRGR; xstormy16_extract_sfmt_movgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 568 : /* fall through */
case 569 : /* fall through */
case 570 : /* fall through */
case 572 : /* fall through */
case 573 : /* fall through */
case 574 : /* fall through */
- case 575 : itype = XSTORMY16_INSN_MOVWIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movwimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 575 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4700)
+ { itype = XSTORMY16_INSN_MOVWIMM8; xstormy16_extract_sfmt_movwimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 584 : /* fall through */
case 585 : /* fall through */
case 586 : /* fall through */
case 588 : /* fall through */
case 589 : /* fall through */
case 590 : /* fall through */
- case 591 : itype = XSTORMY16_INSN_ADDGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 591 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4900)
+ { itype = XSTORMY16_INSN_ADDGRGR; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 600 : /* fall through */
case 601 : /* fall through */
case 602 : /* fall through */
case 604 : /* fall through */
case 605 : /* fall through */
case 606 : /* fall through */
- case 607 : itype = XSTORMY16_INSN_ADCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 607 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4b00)
+ { itype = XSTORMY16_INSN_ADCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 616 : /* fall through */
case 617 : /* fall through */
case 618 : /* fall through */
case 620 : /* fall through */
case 621 : /* fall through */
case 622 : /* fall through */
- case 623 : itype = XSTORMY16_INSN_SUBGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 623 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4d00)
+ { itype = XSTORMY16_INSN_SUBGRGR; xstormy16_extract_sfmt_addgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 632 : /* fall through */
case 633 : /* fall through */
case 634 : /* fall through */
case 636 : /* fall through */
case 637 : /* fall through */
case 638 : /* fall through */
- case 639 : itype = XSTORMY16_INSN_SBCGRGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 639 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x4f00)
+ { itype = XSTORMY16_INSN_SBCGRGR; xstormy16_extract_sfmt_adcgrgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 648 : /* fall through */
case 649 : /* fall through */
case 650 : /* fall through */
case 652 : /* fall through */
case 653 : /* fall through */
case 654 : /* fall through */
- case 655 : itype = XSTORMY16_INSN_ADDGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 655 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x5100)
+ { itype = XSTORMY16_INSN_ADDGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 664 : /* fall through */
case 665 : /* fall through */
case 666 : /* fall through */
case 668 : /* fall through */
case 669 : /* fall through */
case 670 : /* fall through */
- case 671 : itype = XSTORMY16_INSN_ADCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 671 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x5300)
+ { itype = XSTORMY16_INSN_ADCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 680 : /* fall through */
case 681 : /* fall through */
case 682 : /* fall through */
case 684 : /* fall through */
case 685 : /* fall through */
case 686 : /* fall through */
- case 687 : itype = XSTORMY16_INSN_SUBGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 687 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x5500)
+ { itype = XSTORMY16_INSN_SUBGRIMM4; xstormy16_extract_sfmt_addgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 696 : /* fall through */
case 697 : /* fall through */
case 698 : /* fall through */
case 700 : /* fall through */
case 701 : /* fall through */
case 702 : /* fall through */
- case 703 : itype = XSTORMY16_INSN_SBCGRIMM4; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 703 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x5700)
+ { itype = XSTORMY16_INSN_SBCGRIMM4; xstormy16_extract_sfmt_adcgrimm4 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 712 : /* fall through */
case 713 : /* fall through */
case 714 : /* fall through */
case 716 : /* fall through */
case 717 : /* fall through */
case 718 : /* fall through */
- case 719 : itype = XSTORMY16_INSN_ADDIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 719 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x5900)
+ { itype = XSTORMY16_INSN_ADDIMM8; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 728 : /* fall through */
case 729 : /* fall through */
case 730 : /* fall through */
case 732 : /* fall through */
case 733 : /* fall through */
case 734 : /* fall through */
- case 735 : itype = XSTORMY16_INSN_ADCIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 735 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x5b00)
+ { itype = XSTORMY16_INSN_ADCIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 744 : /* fall through */
case 745 : /* fall through */
case 746 : /* fall through */
case 748 : /* fall through */
case 749 : /* fall through */
case 750 : /* fall through */
- case 751 : itype = XSTORMY16_INSN_SUBIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 751 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x5d00)
+ { itype = XSTORMY16_INSN_SUBIMM8; xstormy16_extract_sfmt_addimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 760 : /* fall through */
case 761 : /* fall through */
case 762 : /* fall through */
case 764 : /* fall through */
case 765 : /* fall through */
case 766 : /* fall through */
- case 767 : itype = XSTORMY16_INSN_SBCGRIMM8; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 767 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xff00) == 0x5f00)
+ { itype = XSTORMY16_INSN_SBCGRIMM8; xstormy16_extract_sfmt_adcimm8 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 768 : /* fall through */
case 770 : /* fall through */
case 772 : /* fall through */
case 776 : /* fall through */
case 778 : /* fall through */
case 780 : /* fall through */
- case 782 : itype = XSTORMY16_INSN_MOVGRGRIPOSTINC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 782 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x6000)
+ { itype = XSTORMY16_INSN_MOVGRGRIPOSTINC; xstormy16_extract_sfmt_movgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 769 : /* fall through */
case 771 : /* fall through */
case 773 : /* fall through */
case 777 : /* fall through */
case 779 : /* fall through */
case 781 : /* fall through */
- case 783 : itype = XSTORMY16_INSN_MOVGRGRIIPOSTINC; xstormy16_extract_sfmt_movgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 783 :
+ if ((entire_insn & 0xfe08f000) == 0x60080000)
+ { itype = XSTORMY16_INSN_MOVGRGRIIPOSTINC; xstormy16_extract_sfmt_movgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 784 : /* fall through */
case 786 : /* fall through */
case 788 : /* fall through */
case 792 : /* fall through */
case 794 : /* fall through */
case 796 : /* fall through */
- case 798 : itype = XSTORMY16_INSN_MOVGRIPOSTINCGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 798 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x6200)
+ { itype = XSTORMY16_INSN_MOVGRIPOSTINCGR; xstormy16_extract_sfmt_movgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 785 : /* fall through */
case 787 : /* fall through */
case 789 : /* fall through */
case 793 : /* fall through */
case 795 : /* fall through */
case 797 : /* fall through */
- case 799 : itype = XSTORMY16_INSN_MOVGRIIPOSTINCGR; xstormy16_extract_sfmt_movgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 799 :
+ if ((entire_insn & 0xfe08f000) == 0x62080000)
+ { itype = XSTORMY16_INSN_MOVGRIIPOSTINCGR; xstormy16_extract_sfmt_movgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 800 : /* fall through */
case 802 : /* fall through */
case 804 : /* fall through */
case 808 : /* fall through */
case 810 : /* fall through */
case 812 : /* fall through */
- case 814 : itype = XSTORMY16_INSN_MOVFGRGRIPOSTINC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 814 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x6400)
+ { itype = XSTORMY16_INSN_MOVFGRGRIPOSTINC; xstormy16_extract_sfmt_movfgrgripostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 801 : /* fall through */
case 803 : /* fall through */
case 805 : /* fall through */
case 809 : /* fall through */
case 811 : /* fall through */
case 813 : /* fall through */
- case 815 : itype = XSTORMY16_INSN_MOVFGRGRIIPOSTINC; xstormy16_extract_sfmt_movfgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 815 :
+ if ((entire_insn & 0xfe088000) == 0x64080000)
+ { itype = XSTORMY16_INSN_MOVFGRGRIIPOSTINC; xstormy16_extract_sfmt_movfgrgriipostinc (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 816 : /* fall through */
case 818 : /* fall through */
case 820 : /* fall through */
case 824 : /* fall through */
case 826 : /* fall through */
case 828 : /* fall through */
- case 830 : itype = XSTORMY16_INSN_MOVFGRIPOSTINCGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 830 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x6600)
+ { itype = XSTORMY16_INSN_MOVFGRIPOSTINCGR; xstormy16_extract_sfmt_movfgripostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 817 : /* fall through */
case 819 : /* fall through */
case 821 : /* fall through */
case 825 : /* fall through */
case 827 : /* fall through */
case 829 : /* fall through */
- case 831 : itype = XSTORMY16_INSN_MOVFGRIIPOSTINCGR; xstormy16_extract_sfmt_movfgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 831 :
+ if ((entire_insn & 0xfe088000) == 0x66080000)
+ { itype = XSTORMY16_INSN_MOVFGRIIPOSTINCGR; xstormy16_extract_sfmt_movfgriipostincgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 832 : /* fall through */
case 834 : /* fall through */
case 836 : /* fall through */
case 840 : /* fall through */
case 842 : /* fall through */
case 844 : /* fall through */
- case 846 : itype = XSTORMY16_INSN_MOVGRGRIPREDEC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 846 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x6800)
+ { itype = XSTORMY16_INSN_MOVGRGRIPREDEC; xstormy16_extract_sfmt_movgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 833 : /* fall through */
case 835 : /* fall through */
case 837 : /* fall through */
case 841 : /* fall through */
case 843 : /* fall through */
case 845 : /* fall through */
- case 847 : itype = XSTORMY16_INSN_MOVGRGRIIPREDEC; xstormy16_extract_sfmt_movgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 847 :
+ if ((entire_insn & 0xfe08f000) == 0x68080000)
+ { itype = XSTORMY16_INSN_MOVGRGRIIPREDEC; xstormy16_extract_sfmt_movgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 848 : /* fall through */
case 850 : /* fall through */
case 852 : /* fall through */
case 856 : /* fall through */
case 858 : /* fall through */
case 860 : /* fall through */
- case 862 : itype = XSTORMY16_INSN_MOVGRIPREDECGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 862 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x6a00)
+ { itype = XSTORMY16_INSN_MOVGRIPREDECGR; xstormy16_extract_sfmt_movgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 849 : /* fall through */
case 851 : /* fall through */
case 853 : /* fall through */
case 857 : /* fall through */
case 859 : /* fall through */
case 861 : /* fall through */
- case 863 : itype = XSTORMY16_INSN_MOVGRIIPREDECGR; xstormy16_extract_sfmt_movgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 863 :
+ if ((entire_insn & 0xfe08f000) == 0x6a080000)
+ { itype = XSTORMY16_INSN_MOVGRIIPREDECGR; xstormy16_extract_sfmt_movgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 864 : /* fall through */
case 866 : /* fall through */
case 868 : /* fall through */
case 872 : /* fall through */
case 874 : /* fall through */
case 876 : /* fall through */
- case 878 : itype = XSTORMY16_INSN_MOVFGRGRIPREDEC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 878 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x6c00)
+ { itype = XSTORMY16_INSN_MOVFGRGRIPREDEC; xstormy16_extract_sfmt_movfgrgripredec (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 865 : /* fall through */
case 867 : /* fall through */
case 869 : /* fall through */
case 873 : /* fall through */
case 875 : /* fall through */
case 877 : /* fall through */
- case 879 : itype = XSTORMY16_INSN_MOVFGRGRIIPREDEC; xstormy16_extract_sfmt_movfgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 879 :
+ if ((entire_insn & 0xfe088000) == 0x6c080000)
+ { itype = XSTORMY16_INSN_MOVFGRGRIIPREDEC; xstormy16_extract_sfmt_movfgrgriipredec (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 880 : /* fall through */
case 882 : /* fall through */
case 884 : /* fall through */
case 888 : /* fall through */
case 890 : /* fall through */
case 892 : /* fall through */
- case 894 : itype = XSTORMY16_INSN_MOVFGRIPREDECGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 894 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x6e00)
+ { itype = XSTORMY16_INSN_MOVFGRIPREDECGR; xstormy16_extract_sfmt_movfgripredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 881 : /* fall through */
case 883 : /* fall through */
case 885 : /* fall through */
case 889 : /* fall through */
case 891 : /* fall through */
case 893 : /* fall through */
- case 895 : itype = XSTORMY16_INSN_MOVFGRIIPREDECGR; xstormy16_extract_sfmt_movfgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 895 :
+ if ((entire_insn & 0xfe088000) == 0x6e080000)
+ { itype = XSTORMY16_INSN_MOVFGRIIPREDECGR; xstormy16_extract_sfmt_movfgriipredecgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 896 : /* fall through */
case 898 : /* fall through */
case 900 : /* fall through */
case 904 : /* fall through */
case 906 : /* fall through */
case 908 : /* fall through */
- case 910 : itype = XSTORMY16_INSN_MOVGRGRI; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 910 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x7000)
+ { itype = XSTORMY16_INSN_MOVGRGRI; xstormy16_extract_sfmt_movgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 897 : /* fall through */
case 899 : /* fall through */
case 901 : /* fall through */
case 905 : /* fall through */
case 907 : /* fall through */
case 909 : /* fall through */
- case 911 : itype = XSTORMY16_INSN_MOVGRGRII; xstormy16_extract_sfmt_movgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 911 :
+ if ((entire_insn & 0xfe08f000) == 0x70080000)
+ { itype = XSTORMY16_INSN_MOVGRGRII; xstormy16_extract_sfmt_movgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 912 : /* fall through */
case 914 : /* fall through */
case 916 : /* fall through */
case 920 : /* fall through */
case 922 : /* fall through */
case 924 : /* fall through */
- case 926 : itype = XSTORMY16_INSN_MOVGRIGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 926 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x7200)
+ { itype = XSTORMY16_INSN_MOVGRIGR; xstormy16_extract_sfmt_movgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 913 : /* fall through */
case 915 : /* fall through */
case 917 : /* fall through */
case 921 : /* fall through */
case 923 : /* fall through */
case 925 : /* fall through */
- case 927 : itype = XSTORMY16_INSN_MOVGRIIGR; xstormy16_extract_sfmt_movgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 927 :
+ if ((entire_insn & 0xfe08f000) == 0x72080000)
+ { itype = XSTORMY16_INSN_MOVGRIIGR; xstormy16_extract_sfmt_movgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 928 : /* fall through */
case 930 : /* fall through */
case 932 : /* fall through */
case 936 : /* fall through */
case 938 : /* fall through */
case 940 : /* fall through */
- case 942 : itype = XSTORMY16_INSN_MOVFGRGRI; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 942 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x7400)
+ { itype = XSTORMY16_INSN_MOVFGRGRI; xstormy16_extract_sfmt_movfgrgri (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 929 : /* fall through */
case 931 : /* fall through */
case 933 : /* fall through */
case 937 : /* fall through */
case 939 : /* fall through */
case 941 : /* fall through */
- case 943 : itype = XSTORMY16_INSN_MOVFGRGRII; xstormy16_extract_sfmt_movfgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 943 :
+ if ((entire_insn & 0xfe088000) == 0x74080000)
+ { itype = XSTORMY16_INSN_MOVFGRGRII; xstormy16_extract_sfmt_movfgrgrii (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 944 : /* fall through */
case 946 : /* fall through */
case 948 : /* fall through */
case 952 : /* fall through */
case 954 : /* fall through */
case 956 : /* fall through */
- case 958 : itype = XSTORMY16_INSN_MOVFGRIGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movfgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 958 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xfe08) == 0x7600)
+ { itype = XSTORMY16_INSN_MOVFGRIGR; xstormy16_extract_sfmt_movfgrigr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 945 : /* fall through */
case 947 : /* fall through */
case 949 : /* fall through */
case 953 : /* fall through */
case 955 : /* fall through */
case 957 : /* fall through */
- case 959 : itype = XSTORMY16_INSN_MOVFGRIIGR; xstormy16_extract_sfmt_movfgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 959 :
+ if ((entire_insn & 0xfe088000) == 0x76080000)
+ { itype = XSTORMY16_INSN_MOVFGRIIGR; xstormy16_extract_sfmt_movfgriigr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 960 : /* fall through */
case 961 : /* fall through */
case 962 : /* fall through */
case 972 : /* fall through */
case 973 : /* fall through */
case 974 : /* fall through */
- case 975 : itype = XSTORMY16_INSN_MOVLMEMIMM; xstormy16_extract_sfmt_movlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 975 :
+ if ((entire_insn & 0xfe000000) == 0x78000000)
+ { itype = XSTORMY16_INSN_MOVLMEMIMM; xstormy16_extract_sfmt_movlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 976 : /* fall through */
case 977 : /* fall through */
case 978 : /* fall through */
case 988 : /* fall through */
case 989 : /* fall through */
case 990 : /* fall through */
- case 991 : itype = XSTORMY16_INSN_MOVHMEMIMM; xstormy16_extract_sfmt_movhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 991 :
+ if ((entire_insn & 0xfe000000) == 0x7a000000)
+ { itype = XSTORMY16_INSN_MOVHMEMIMM; xstormy16_extract_sfmt_movhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 992 : /* fall through */
case 993 : /* fall through */
case 994 : /* fall through */
case 996 : /* fall through */
case 997 : /* fall through */
case 998 : /* fall through */
- case 999 : itype = XSTORMY16_INSN_BNLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 999 :
+ if ((entire_insn & 0xff008000) == 0x7c000000)
+ { itype = XSTORMY16_INSN_BNLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1000 : /* fall through */
case 1001 : /* fall through */
case 1002 : /* fall through */
case 1004 : /* fall through */
case 1005 : /* fall through */
case 1006 : /* fall through */
- case 1007 : itype = XSTORMY16_INSN_BPLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1007 :
+ if ((entire_insn & 0xff008000) == 0x7d000000)
+ { itype = XSTORMY16_INSN_BPLMEMIMM; xstormy16_extract_sfmt_bnlmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1008 : /* fall through */
case 1009 : /* fall through */
case 1010 : /* fall through */
case 1012 : /* fall through */
case 1013 : /* fall through */
case 1014 : /* fall through */
- case 1015 : itype = XSTORMY16_INSN_BNHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1015 :
+ if ((entire_insn & 0xff008000) == 0x7e000000)
+ { itype = XSTORMY16_INSN_BNHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1016 : /* fall through */
case 1017 : /* fall through */
case 1018 : /* fall through */
case 1020 : /* fall through */
case 1021 : /* fall through */
case 1022 : /* fall through */
- case 1023 : itype = XSTORMY16_INSN_BPHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1023 :
+ if ((entire_insn & 0xff008000) == 0x7f000000)
+ { itype = XSTORMY16_INSN_BPHMEMIMM; xstormy16_extract_sfmt_bnhmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1024 : /* fall through */
case 1025 : /* fall through */
case 1026 : /* fall through */
case 1148 : /* fall through */
case 1149 : /* fall through */
case 1150 : /* fall through */
- case 1151 : itype = XSTORMY16_INSN_MOVLGRMEM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1151 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf000) == 0x8000)
+ { itype = XSTORMY16_INSN_MOVLGRMEM; xstormy16_extract_sfmt_movlgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1152 : /* fall through */
case 1153 : /* fall through */
case 1154 : /* fall through */
case 1276 : /* fall through */
case 1277 : /* fall through */
case 1278 : /* fall through */
- case 1279 : itype = XSTORMY16_INSN_MOVLMEMGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movlmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1279 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf000) == 0x9000)
+ { itype = XSTORMY16_INSN_MOVLMEMGR; xstormy16_extract_sfmt_movlmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1280 : /* fall through */
case 1281 : /* fall through */
case 1282 : /* fall through */
case 1404 : /* fall through */
case 1405 : /* fall through */
case 1406 : /* fall through */
- case 1407 : itype = XSTORMY16_INSN_MOVHGRMEM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movhgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1407 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf000) == 0xa000)
+ { itype = XSTORMY16_INSN_MOVHGRMEM; xstormy16_extract_sfmt_movhgrmem (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1408 : /* fall through */
case 1409 : /* fall through */
case 1410 : /* fall through */
case 1532 : /* fall through */
case 1533 : /* fall through */
case 1534 : /* fall through */
- case 1535 : itype = XSTORMY16_INSN_MOVHMEMGR; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_movhmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1535 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf000) == 0xb000)
+ { itype = XSTORMY16_INSN_MOVHMEMGR; xstormy16_extract_sfmt_movhmemgr (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1536 : /* fall through */
case 1537 : /* fall through */
case 1538 : /* fall through */
case 1660 : /* fall through */
case 1661 : /* fall through */
case 1662 : /* fall through */
- case 1663 : itype = XSTORMY16_INSN_BCCIMM16; xstormy16_extract_sfmt_bccimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1663 :
+ if ((entire_insn & 0xf0000000) == 0xc0000000)
+ { itype = XSTORMY16_INSN_BCCIMM16; xstormy16_extract_sfmt_bccimm16 (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1664 : /* fall through */
case 1665 : /* fall through */
case 1666 : /* fall through */
case 1788 : /* fall through */
case 1789 : /* fall through */
case 1790 : /* fall through */
- case 1791 : itype = XSTORMY16_INSN_BCC; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_bcc (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1791 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf000) == 0xd000)
+ { itype = XSTORMY16_INSN_BCC; xstormy16_extract_sfmt_bcc (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1792 : /* fall through */
case 1793 : /* fall through */
case 1794 : /* fall through */
case 1908 : /* fall through */
case 1909 : /* fall through */
case 1910 : /* fall through */
- case 1911 : itype = XSTORMY16_INSN_CLR1LMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1911 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf100) == 0xe000)
+ { itype = XSTORMY16_INSN_CLR1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1800 : /* fall through */
case 1801 : /* fall through */
case 1802 : /* fall through */
case 1916 : /* fall through */
case 1917 : /* fall through */
case 1918 : /* fall through */
- case 1919 : itype = XSTORMY16_INSN_SET1LMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 1919 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf100) == 0xe100)
+ { itype = XSTORMY16_INSN_SET1LMEMIMM; xstormy16_extract_sfmt_set1lmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1920 : /* fall through */
case 1921 : /* fall through */
case 1922 : /* fall through */
case 2036 : /* fall through */
case 2037 : /* fall through */
case 2038 : /* fall through */
- case 2039 : itype = XSTORMY16_INSN_CLR1HMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2039 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf100) == 0xf000)
+ { itype = XSTORMY16_INSN_CLR1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
case 1928 : /* fall through */
case 1929 : /* fall through */
case 1930 : /* fall through */
case 2044 : /* fall through */
case 2045 : /* fall through */
case 2046 : /* fall through */
- case 2047 : itype = XSTORMY16_INSN_SET1HMEMIMM; entire_insn = base_insn >> 16; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done;
- default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ case 2047 :
+ entire_insn = base_insn >> 16;
+ if ((entire_insn & 0xf100) == 0xf100)
+ { itype = XSTORMY16_INSN_SET1HMEMIMM; xstormy16_extract_sfmt_set1hmemimm (this, current_cpu, pc, base_insn, entire_insn); goto done; }
+ itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
+ default : itype = XSTORMY16_INSN_X_INVALID; xstormy16_extract_sfmt_empty (this, current_cpu, pc, base_insn, entire_insn); goto done;
}
}
+++ /dev/null
-/* Simulator instruction operand writer for xstormy16.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 2000-2004 Red Hat, Inc.
-
-This file is part of the Red Hat simulators.
-
-
-*/
-
-
-#include "xstormy16.h"
-using namespace xstormy16;
-
-
-sem_status
-xstormy16_write_sfmt_empty (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-#define OPRND(f) par_exec->operands.sfmt_empty.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movlmemimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movlmemimm.f
-#define OPRND(f) par_exec->operands.sfmt_movlmemimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 4))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_lmem8_65534_idx), OPRND (h_memory_HI_and__DFLT_lmem8_65534));
- }
- if (written & (1ULL << 5))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_lmem8_idx), OPRND (h_memory_QI_lmem8));
- }
- if (written & (1ULL << 6))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movhmemimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movhmemimm.f
-#define OPRND(f) par_exec->operands.sfmt_movhmemimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 4))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_hmem8_65534_idx), OPRND (h_memory_HI_and__DFLT_hmem8_65534));
- }
- if (written & (1ULL << 5))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_hmem8_idx), OPRND (h_memory_QI_hmem8));
- }
- if (written & (1ULL << 6))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movlgrmem (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movlgrmem.f
-#define OPRND(f) par_exec->operands.sfmt_movlgrmem.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 6))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rm_idx), OPRND (h_gr_HI_index_of__DFLT_Rm));
- }
- if (written & (1ULL << 7))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movhgrmem (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movhgrmem.f
-#define OPRND(f) par_exec->operands.sfmt_movhgrmem.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 6))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rm_idx), OPRND (h_gr_HI_index_of__DFLT_Rm));
- }
- if (written & (1ULL << 7))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movlmemgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movlgrmem.f
-#define OPRND(f) par_exec->operands.sfmt_movlmemgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 4))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_lmem8_65534_idx), OPRND (h_memory_HI_and__DFLT_lmem8_65534));
- }
- if (written & (1ULL << 5))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_lmem8_idx), OPRND (h_memory_QI_lmem8));
- }
- if (written & (1ULL << 6))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movhmemgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movhgrmem.f
-#define OPRND(f) par_exec->operands.sfmt_movhmemgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 4))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_hmem8_65534_idx), OPRND (h_memory_HI_and__DFLT_hmem8_65534));
- }
- if (written & (1ULL << 5))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_hmem8_idx), OPRND (h_memory_QI_hmem8));
- }
- if (written & (1ULL << 6))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgrgri (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgrgri.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 6))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 7))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgrgripostinc (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgrgripostinc.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 7))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgrgripredec (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgrgripredec.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 7))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgrigr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgrigr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 5))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_Rs_65534_idx), OPRND (h_memory_HI_and__DFLT_Rs_65534));
- }
- if (written & (1ULL << 6))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_Rs_idx), OPRND (h_memory_QI_Rs));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgripostincgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgripostincgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 6))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_Rs_65534_idx), OPRND (h_memory_HI_and__DFLT_Rs_65534));
- }
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_Rs_idx), OPRND (h_memory_QI_Rs));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgripredecgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgripredecgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 6))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_Rs_65534_idx), OPRND (h_memory_HI_and__DFLT_Rs_65534));
- }
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_Rs_idx), OPRND (h_memory_QI_Rs));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgrgrii (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgrgrii.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 7))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgrgriipostinc (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgrgriipostinc.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 9))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgrgriipredec (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgrgriipredec.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 9))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgriigr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgriigr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 6))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_add__DFLT_Rs_imm12_65534_idx), OPRND (h_memory_HI_and__DFLT_add__DFLT_Rs_imm12_65534));
- }
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_add__DFLT_Rs_imm12_idx), OPRND (h_memory_QI_add__DFLT_Rs_imm12));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgriipostincgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgriipostincgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_add__DFLT_Rs_imm12_65534_idx), OPRND (h_memory_HI_and__DFLT_add__DFLT_Rs_imm12_65534));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_add__DFLT_Rs_imm12_idx), OPRND (h_memory_QI_add__DFLT_Rs_imm12));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgriipredecgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movgriipredecgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_add__DFLT_Rs_imm12_65534_idx), OPRND (h_memory_HI_and__DFLT_add__DFLT_Rs_imm12_65534));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_add__DFLT_Rs_imm12_idx), OPRND (h_memory_QI_add__DFLT_Rs_imm12));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_movgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movwimm8 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrimm8.f
-#define OPRND(f) par_exec->operands.sfmt_movwimm8.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_Rpsw_idx), OPRND (h_gr_HI_Rpsw));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movwgrimm8 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrimm8.f
-#define OPRND(f) par_exec->operands.sfmt_movwgrimm8.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rm_idx), OPRND (h_gr_HI_index_of__DFLT_Rm));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movwgrimm16 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movwgrimm16.f
-#define OPRND(f) par_exec->operands.sfmt_movwgrimm16.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movlowgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_movlowgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgrgri (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgrgri.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 7))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgrgripostinc (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgrgripostinc.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 9))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgrgripredec (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgrgripredec.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 9))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgrigr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgrigr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 6))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_join__SI_HI_R8_Rs_65534_idx), OPRND (h_memory_HI_and__DFLT_join__SI_HI_R8_Rs_65534));
- }
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_join__SI_HI_R8_Rs_idx), OPRND (h_memory_QI_join__SI_HI_R8_Rs));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgripostincgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgripostincgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_join__SI_HI_R8_Rs_65534_idx), OPRND (h_memory_HI_and__DFLT_join__SI_HI_R8_Rs_65534));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_join__SI_HI_R8_Rs_idx), OPRND (h_memory_QI_join__SI_HI_R8_Rs));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgripredecgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgripredecgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_join__SI_HI_R8_Rs_65534_idx), OPRND (h_memory_HI_and__DFLT_join__SI_HI_R8_Rs_65534));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_join__SI_HI_R8_Rs_idx), OPRND (h_memory_QI_join__SI_HI_R8_Rs));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgrgrii (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgrgrii.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 8))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 9))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgrgriipostinc (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgrgriipostinc.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 9))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 10))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgrgriipredec (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgrgriipredec.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 9))
- {
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rdm_idx), OPRND (h_gr_HI_index_of__DFLT_Rdm));
- }
- if (written & (1ULL << 10))
- {
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgriigr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgriigr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 7))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_add__DFLT_join__SI_HI_Rb_Rs_imm12_4294967294_idx), OPRND (h_memory_HI_and__DFLT_add__DFLT_join__SI_HI_Rb_Rs_imm12_4294967294));
- }
- if (written & (1ULL << 8))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_add__DFLT_join__SI_HI_Rb_Rs_imm12_idx), OPRND (h_memory_QI_add__DFLT_join__SI_HI_Rb_Rs_imm12));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgriipostincgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgriipostincgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 8))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_add__DFLT_join__SI_HI_Rb_Rs_imm12_4294967294_idx), OPRND (h_memory_HI_and__DFLT_add__DFLT_join__SI_HI_Rb_Rs_imm12_4294967294));
- }
- if (written & (1ULL << 9))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_add__DFLT_join__SI_HI_Rb_Rs_imm12_idx), OPRND (h_memory_QI_add__DFLT_join__SI_HI_Rb_Rs_imm12));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_movfgriipredecgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movfgrgrii.f
-#define OPRND(f) par_exec->operands.sfmt_movfgriipredecgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- if (written & (1ULL << 8))
- {
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_and__DFLT_add__DFLT_join__SI_HI_Rb_Rs_imm12_4294967294_idx), OPRND (h_memory_HI_and__DFLT_add__DFLT_join__SI_HI_Rb_Rs_imm12_4294967294));
- }
- if (written & (1ULL << 9))
- {
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_add__DFLT_join__SI_HI_Rb_Rs_imm12_idx), OPRND (h_memory_QI_add__DFLT_join__SI_HI_Rb_Rs_imm12));
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_maskgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_maskgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_maskgrimm16 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movwgrimm16.f
-#define OPRND(f) par_exec->operands.sfmt_maskgrimm16.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_pushgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_pushgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_sp_idx), OPRND (h_memory_HI_sp));
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_popgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_popgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rd), OPRND (Rd));
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_swpn (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_swpn.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_swpw (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_swpw.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (FLD (f_Rs), OPRND (Rs));
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_andgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_andgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_andimm8 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrimm8.f
-#define OPRND(f) par_exec->operands.sfmt_andimm8.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_Rpsw_idx), OPRND (h_gr_HI_Rpsw));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_andgrimm16 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movwgrimm16.f
-#define OPRND(f) par_exec->operands.sfmt_andgrimm16.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_addgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_addgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_addgrimm4 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bngrimm4.f
-#define OPRND(f) par_exec->operands.sfmt_addgrimm4.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_addimm8 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrimm8.f
-#define OPRND(f) par_exec->operands.sfmt_addimm8.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_Rpsw_idx), OPRND (h_gr_HI_Rpsw));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_addgrimm16 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movwgrimm16.f
-#define OPRND(f) par_exec->operands.sfmt_addgrimm16.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_adcgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_adcgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_adcgrimm4 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bngrimm4.f
-#define OPRND(f) par_exec->operands.sfmt_adcgrimm4.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_adcimm8 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrimm8.f
-#define OPRND(f) par_exec->operands.sfmt_adcimm8.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_Rpsw_idx), OPRND (h_gr_HI_Rpsw));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_adcgrimm16 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_movwgrimm16.f
-#define OPRND(f) par_exec->operands.sfmt_adcgrimm16.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_incgrimm2 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_incgrimm2.f
-#define OPRND(f) par_exec->operands.sfmt_incgrimm2.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_rrcgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_rrcgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_rrcgrimm4 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bngrimm4.f
-#define OPRND(f) par_exec->operands.sfmt_rrcgrimm4.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_shrgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_shrgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_shrgrimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bngrimm4.f
-#define OPRND(f) par_exec->operands.sfmt_shrgrimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_asrgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_asrgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_asrgrimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bngrimm4.f
-#define OPRND(f) par_exec->operands.sfmt_asrgrimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_set1grimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bngrimm4.f
-#define OPRND(f) par_exec->operands.sfmt_set1grimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (OPRND (h_gr_HI_index_of__DFLT_Rd_idx), OPRND (h_gr_HI_index_of__DFLT_Rd));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_set1lmemimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_set1lmemimm.f
-#define OPRND(f) par_exec->operands.sfmt_set1lmemimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_lmem8_idx), OPRND (h_memory_QI_lmem8));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_set1hmemimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_set1hmemimm.f
-#define OPRND(f) par_exec->operands.sfmt_set1hmemimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMQI (pc, OPRND (h_memory_QI_hmem8_idx), OPRND (h_memory_QI_hmem8));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bccgrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_bccgrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 13))
- {
- current_cpu->branch (OPRND (pc), npc, status);
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bccgrimm8 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrimm8.f
-#define OPRND(f) par_exec->operands.sfmt_bccgrimm8.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 13))
- {
- current_cpu->branch (OPRND (pc), npc, status);
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bccimm16 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccimm16.f
-#define OPRND(f) par_exec->operands.sfmt_bccimm16.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 12))
- {
- current_cpu->branch (OPRND (pc), npc, status);
- }
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bngrimm4 (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bngrimm4.f
-#define OPRND(f) par_exec->operands.sfmt_bngrimm4.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_Rpsw_set (OPRND (Rpsw));
- if (written & (1ULL << 5))
- {
- current_cpu->branch (OPRND (pc), npc, status);
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bngrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bccgrgr.f
-#define OPRND(f) par_exec->operands.sfmt_bngrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_Rpsw_set (OPRND (Rpsw));
- if (written & (1ULL << 5))
- {
- current_cpu->branch (OPRND (pc), npc, status);
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bnlmemimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bnlmemimm.f
-#define OPRND(f) par_exec->operands.sfmt_bnlmemimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 4))
- {
- current_cpu->branch (OPRND (pc), npc, status);
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bnhmemimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bnhmemimm.f
-#define OPRND(f) par_exec->operands.sfmt_bnhmemimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 4))
- {
- current_cpu->branch (OPRND (pc), npc, status);
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bcc (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_bcc.f
-#define OPRND(f) par_exec->operands.sfmt_bcc.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- if (written & (1ULL << 7))
- {
- current_cpu->branch (OPRND (pc), npc, status);
- }
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_bgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_bgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->branch (OPRND (pc), npc, status);
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_br (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_br.f
-#define OPRND(f) par_exec->operands.sfmt_br.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->branch (OPRND (pc), npc, status);
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_jmp (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_jmp.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->branch (OPRND (pc), npc, status);
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_jmpf (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmpf.f
-#define OPRND(f) par_exec->operands.sfmt_jmpf.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->branch (OPRND (pc), npc, status);
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_callrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_callrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMSI (pc, OPRND (h_memory_SI_sp_idx), OPRND (h_memory_SI_sp));
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_callrimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_br.f
-#define OPRND(f) par_exec->operands.sfmt_callrimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMSI (pc, OPRND (h_memory_SI_sp_idx), OPRND (h_memory_SI_sp));
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_callgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_callgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMSI (pc, OPRND (h_memory_SI_sp_idx), OPRND (h_memory_SI_sp));
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_callfimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmpf.f
-#define OPRND(f) par_exec->operands.sfmt_callfimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMSI (pc, OPRND (h_memory_SI_sp_idx), OPRND (h_memory_SI_sp));
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_icallrgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_icallrgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_add__DFLT_sp_4_idx), OPRND (h_memory_HI_add__DFLT_sp_4));
- current_cpu->SETMEMSI (pc, OPRND (h_memory_SI_sp_idx), OPRND (h_memory_SI_sp));
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_icallgr (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmp.f
-#define OPRND(f) par_exec->operands.sfmt_icallgr.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_add__DFLT_sp_4_idx), OPRND (h_memory_HI_add__DFLT_sp_4));
- current_cpu->SETMEMSI (pc, OPRND (h_memory_SI_sp_idx), OPRND (h_memory_SI_sp));
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_icallfimm (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.sfmt_jmpf.f
-#define OPRND(f) par_exec->operands.sfmt_icallfimm.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->SETMEMHI (pc, OPRND (h_memory_HI_add__DFLT_sp_4_idx), OPRND (h_memory_HI_add__DFLT_sp_4));
- current_cpu->SETMEMSI (pc, OPRND (h_memory_SI_sp_idx), OPRND (h_memory_SI_sp));
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_iret (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-#define OPRND(f) par_exec->operands.sfmt_iret.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_ret (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-#define OPRND(f) par_exec->operands.sfmt_ret.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->branch (OPRND (pc), npc, status);
- current_cpu->h_gr_set (((UINT) 15), OPRND (sp));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_mul (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-#define OPRND(f) par_exec->operands.sfmt_mul.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (((UINT) 0), OPRND (R0));
- current_cpu->h_gr_set (((UINT) 1), OPRND (R1));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_sdiv (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-#define OPRND(f) par_exec->operands.sfmt_sdiv.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (((UINT) 0), OPRND (R0));
- current_cpu->h_gr_set (((UINT) 1), OPRND (R1));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_sdivlh (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-#define OPRND(f) par_exec->operands.sfmt_sdivlh.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
- current_cpu->h_gr_set (((UINT) 0), OPRND (R0));
- current_cpu->h_gr_set (((UINT) 1), OPRND (R1));
- current_cpu->h_gr_set (((UINT) 14), OPRND (psw));
-
- return status;
-#undef OPRND
-#undef FLD
-}
-
-
-sem_status
-xstormy16_write_sfmt_reset (xstormy16_cpu* current_cpu, xstormy16_scache* sem, xstormy16_parexec* par_exec)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-#define OPRND(f) par_exec->operands.sfmt_reset.f
- xstormy16_scache* abuf = sem;
- unsigned long long written = abuf->written;
- PCADDR pc = abuf->addr;
- PCADDR npc = 0; // dummy value for branches
- sem_status status = SEM_STATUS_NORMAL; // ditto
-
-
- return status;
-#undef OPRND
-#undef FLD
-}
-