ref: c8b187f9db503465460d8bafa2d7a758bbcf59ca
dir: /libinterp/dec.c/
/* Machine generated by decgen.c */ #include "lib9.h" #include "isa.h" #include "interp.h" #define DIND(reg, xxx) (uchar*)((*(ulong*)(R.reg+R.PC->xxx.i.f))+R.PC->xxx.i.s) static void D00(void) { R.s = R.MP+R.PC->s.ind; R.d = R.MP+R.PC->d.ind; R.m = R.d; } static void D01(void) { R.s = R.MP+R.PC->s.ind; R.d = R.FP+R.PC->d.ind; R.m = R.d; } static void D02(void) { R.s = R.MP+R.PC->s.ind; R.d = (uchar*)&R.PC->d.imm; R.m = R.d; } static void D03(void) { R.s = R.MP+R.PC->s.ind; } static void D04(void) { R.s = R.MP+R.PC->s.ind; R.d = DIND(MP, d); R.m = R.d; } static void D05(void) { R.s = R.MP+R.PC->s.ind; R.d = DIND(FP, d); R.m = R.d; } static void D06(void) { R.s = R.MP+R.PC->s.ind; } static void D07(void) { R.s = R.MP+R.PC->s.ind; } static void D08(void) { R.s = R.FP+R.PC->s.ind; R.d = R.MP+R.PC->d.ind; R.m = R.d; } static void D09(void) { R.s = R.FP+R.PC->s.ind; R.d = R.FP+R.PC->d.ind; R.m = R.d; } static void D0A(void) { R.s = R.FP+R.PC->s.ind; R.d = (uchar*)&R.PC->d.imm; R.m = R.d; } static void D0B(void) { R.s = R.FP+R.PC->s.ind; } static void D0C(void) { R.s = R.FP+R.PC->s.ind; R.d = DIND(MP, d); R.m = R.d; } static void D0D(void) { R.s = R.FP+R.PC->s.ind; R.d = DIND(FP, d); R.m = R.d; } static void D0E(void) { R.s = R.FP+R.PC->s.ind; } static void D0F(void) { R.s = R.FP+R.PC->s.ind; } static void D10(void) { R.s = (uchar*)&R.PC->s.imm; R.d = R.MP+R.PC->d.ind; R.m = R.d; } static void D11(void) { R.s = (uchar*)&R.PC->s.imm; R.d = R.FP+R.PC->d.ind; R.m = R.d; } static void D12(void) { R.s = (uchar*)&R.PC->s.imm; R.d = (uchar*)&R.PC->d.imm; R.m = R.d; } static void D13(void) { R.s = (uchar*)&R.PC->s.imm; } static void D14(void) { R.s = (uchar*)&R.PC->s.imm; R.d = DIND(MP, d); R.m = R.d; } static void D15(void) { R.s = (uchar*)&R.PC->s.imm; R.d = DIND(FP, d); R.m = R.d; } static void D16(void) { R.s = (uchar*)&R.PC->s.imm; } static void D17(void) { R.s = (uchar*)&R.PC->s.imm; } static void D18(void) { R.d = R.MP+R.PC->d.ind; R.m = R.d; } static void D19(void) { R.d = R.FP+R.PC->d.ind; R.m = R.d; } static void D1A(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.d; } static void D1B(void) { } static void D1C(void) { R.d = DIND(MP, d); R.m = R.d; } static void D1D(void) { R.d = DIND(FP, d); R.m = R.d; } static void D1E(void) { } static void D1F(void) { } static void D20(void) { R.s = DIND(MP, s); R.d = R.MP+R.PC->d.ind; R.m = R.d; } static void D21(void) { R.s = DIND(MP, s); R.d = R.FP+R.PC->d.ind; R.m = R.d; } static void D22(void) { R.s = DIND(MP, s); R.d = (uchar*)&R.PC->d.imm; R.m = R.d; } static void D23(void) { R.s = DIND(MP, s); } static void D24(void) { R.s = DIND(MP, s); R.d = DIND(MP, d); R.m = R.d; } static void D25(void) { R.s = DIND(MP, s); R.d = DIND(FP, d); R.m = R.d; } static void D26(void) { R.s = DIND(MP, s); } static void D27(void) { R.s = DIND(MP, s); } static void D28(void) { R.s = DIND(FP, s); R.d = R.MP+R.PC->d.ind; R.m = R.d; } static void D29(void) { R.s = DIND(FP, s); R.d = R.FP+R.PC->d.ind; R.m = R.d; } static void D2A(void) { R.s = DIND(FP, s); R.d = (uchar*)&R.PC->d.imm; R.m = R.d; } static void D2B(void) { R.s = DIND(FP, s); } static void D2C(void) { R.s = DIND(FP, s); R.d = DIND(MP, d); R.m = R.d; } static void D2D(void) { R.s = DIND(FP, s); R.d = DIND(FP, d); R.m = R.d; } static void D2E(void) { R.s = DIND(FP, s); } static void D2F(void) { R.s = DIND(FP, s); } static void D30(void) { R.d = R.MP+R.PC->d.ind; R.m = R.d; } static void D31(void) { R.d = R.FP+R.PC->d.ind; R.m = R.d; } static void D32(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.d; } static void D33(void) { } static void D34(void) { R.d = DIND(MP, d); R.m = R.d; } static void D35(void) { R.d = DIND(FP, d); R.m = R.d; } static void D36(void) { } static void D37(void) { } static void D38(void) { R.d = R.MP+R.PC->d.ind; R.m = R.d; } static void D39(void) { R.d = R.FP+R.PC->d.ind; R.m = R.d; } static void D3A(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.d; } static void D3B(void) { } static void D3C(void) { R.d = DIND(MP, d); R.m = R.d; } static void D3D(void) { R.d = DIND(FP, d); R.m = R.d; } static void D3E(void) { } static void D3F(void) { } static void D40(void) { R.s = R.MP+R.PC->s.ind; R.d = R.MP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D41(void) { R.s = R.MP+R.PC->s.ind; R.d = R.FP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D42(void) { R.s = R.MP+R.PC->s.ind; R.d = (uchar*)&R.PC->d.imm; R.t = (short)R.PC->reg; R.m = &R.t; } static void D43(void) { R.s = R.MP+R.PC->s.ind; } static void D44(void) { R.s = R.MP+R.PC->s.ind; R.d = DIND(MP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D45(void) { R.s = R.MP+R.PC->s.ind; R.d = DIND(FP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D46(void) { R.s = R.MP+R.PC->s.ind; } static void D47(void) { R.s = R.MP+R.PC->s.ind; } static void D48(void) { R.s = R.FP+R.PC->s.ind; R.d = R.MP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D49(void) { R.s = R.FP+R.PC->s.ind; R.d = R.FP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D4A(void) { R.s = R.FP+R.PC->s.ind; R.d = (uchar*)&R.PC->d.imm; R.t = (short)R.PC->reg; R.m = &R.t; } static void D4B(void) { R.s = R.FP+R.PC->s.ind; } static void D4C(void) { R.s = R.FP+R.PC->s.ind; R.d = DIND(MP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D4D(void) { R.s = R.FP+R.PC->s.ind; R.d = DIND(FP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D4E(void) { R.s = R.FP+R.PC->s.ind; } static void D4F(void) { R.s = R.FP+R.PC->s.ind; } static void D50(void) { R.s = (uchar*)&R.PC->s.imm; R.d = R.MP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D51(void) { R.s = (uchar*)&R.PC->s.imm; R.d = R.FP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D52(void) { R.s = (uchar*)&R.PC->s.imm; R.d = (uchar*)&R.PC->d.imm; R.t = (short)R.PC->reg; R.m = &R.t; } static void D53(void) { R.s = (uchar*)&R.PC->s.imm; } static void D54(void) { R.s = (uchar*)&R.PC->s.imm; R.d = DIND(MP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D55(void) { R.s = (uchar*)&R.PC->s.imm; R.d = DIND(FP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D56(void) { R.s = (uchar*)&R.PC->s.imm; } static void D57(void) { R.s = (uchar*)&R.PC->s.imm; } static void D58(void) { R.d = R.MP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D59(void) { R.d = R.FP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D5A(void) { R.d = (uchar*)&R.PC->d.imm; R.t = (short)R.PC->reg; R.m = &R.t; } static void D5B(void) { } static void D5C(void) { R.d = DIND(MP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D5D(void) { R.d = DIND(FP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D5E(void) { } static void D5F(void) { } static void D60(void) { R.s = DIND(MP, s); R.d = R.MP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D61(void) { R.s = DIND(MP, s); R.d = R.FP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D62(void) { R.s = DIND(MP, s); R.d = (uchar*)&R.PC->d.imm; R.t = (short)R.PC->reg; R.m = &R.t; } static void D63(void) { R.s = DIND(MP, s); } static void D64(void) { R.s = DIND(MP, s); R.d = DIND(MP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D65(void) { R.s = DIND(MP, s); R.d = DIND(FP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D66(void) { R.s = DIND(MP, s); } static void D67(void) { R.s = DIND(MP, s); } static void D68(void) { R.s = DIND(FP, s); R.d = R.MP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D69(void) { R.s = DIND(FP, s); R.d = R.FP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D6A(void) { R.s = DIND(FP, s); R.d = (uchar*)&R.PC->d.imm; R.t = (short)R.PC->reg; R.m = &R.t; } static void D6B(void) { R.s = DIND(FP, s); } static void D6C(void) { R.s = DIND(FP, s); R.d = DIND(MP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D6D(void) { R.s = DIND(FP, s); R.d = DIND(FP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D6E(void) { R.s = DIND(FP, s); } static void D6F(void) { R.s = DIND(FP, s); } static void D70(void) { R.d = R.MP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D71(void) { R.d = R.FP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D72(void) { R.d = (uchar*)&R.PC->d.imm; R.t = (short)R.PC->reg; R.m = &R.t; } static void D73(void) { } static void D74(void) { R.d = DIND(MP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D75(void) { R.d = DIND(FP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D76(void) { } static void D77(void) { } static void D78(void) { R.d = R.MP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D79(void) { R.d = R.FP+R.PC->d.ind; R.t = (short)R.PC->reg; R.m = &R.t; } static void D7A(void) { R.d = (uchar*)&R.PC->d.imm; R.t = (short)R.PC->reg; R.m = &R.t; } static void D7B(void) { } static void D7C(void) { R.d = DIND(MP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D7D(void) { R.d = DIND(FP, d); R.t = (short)R.PC->reg; R.m = &R.t; } static void D7E(void) { } static void D7F(void) { } static void D80(void) { R.s = R.MP+R.PC->s.ind; R.d = R.MP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void D81(void) { R.s = R.MP+R.PC->s.ind; R.d = R.FP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void D82(void) { R.s = R.MP+R.PC->s.ind; R.d = (uchar*)&R.PC->d.imm; R.m = R.FP+R.PC->reg; } static void D83(void) { R.s = R.MP+R.PC->s.ind; } static void D84(void) { R.s = R.MP+R.PC->s.ind; R.d = DIND(MP, d); R.m = R.FP+R.PC->reg; } static void D85(void) { R.s = R.MP+R.PC->s.ind; R.d = DIND(FP, d); R.m = R.FP+R.PC->reg; } static void D86(void) { R.s = R.MP+R.PC->s.ind; } static void D87(void) { R.s = R.MP+R.PC->s.ind; } static void D88(void) { R.s = R.FP+R.PC->s.ind; R.d = R.MP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void D89(void) { R.s = R.FP+R.PC->s.ind; R.d = R.FP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void D8A(void) { R.s = R.FP+R.PC->s.ind; R.d = (uchar*)&R.PC->d.imm; R.m = R.FP+R.PC->reg; } static void D8B(void) { R.s = R.FP+R.PC->s.ind; } static void D8C(void) { R.s = R.FP+R.PC->s.ind; R.d = DIND(MP, d); R.m = R.FP+R.PC->reg; } static void D8D(void) { R.s = R.FP+R.PC->s.ind; R.d = DIND(FP, d); R.m = R.FP+R.PC->reg; } static void D8E(void) { R.s = R.FP+R.PC->s.ind; } static void D8F(void) { R.s = R.FP+R.PC->s.ind; } static void D90(void) { R.s = (uchar*)&R.PC->s.imm; R.d = R.MP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void D91(void) { R.s = (uchar*)&R.PC->s.imm; R.d = R.FP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void D92(void) { R.s = (uchar*)&R.PC->s.imm; R.d = (uchar*)&R.PC->d.imm; R.m = R.FP+R.PC->reg; } static void D93(void) { R.s = (uchar*)&R.PC->s.imm; } static void D94(void) { R.s = (uchar*)&R.PC->s.imm; R.d = DIND(MP, d); R.m = R.FP+R.PC->reg; } static void D95(void) { R.s = (uchar*)&R.PC->s.imm; R.d = DIND(FP, d); R.m = R.FP+R.PC->reg; } static void D96(void) { R.s = (uchar*)&R.PC->s.imm; } static void D97(void) { R.s = (uchar*)&R.PC->s.imm; } static void D98(void) { R.d = R.MP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void D99(void) { R.d = R.FP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void D9A(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.FP+R.PC->reg; } static void D9B(void) { } static void D9C(void) { R.d = DIND(MP, d); R.m = R.FP+R.PC->reg; } static void D9D(void) { R.d = DIND(FP, d); R.m = R.FP+R.PC->reg; } static void D9E(void) { } static void D9F(void) { } static void DA0(void) { R.s = DIND(MP, s); R.d = R.MP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void DA1(void) { R.s = DIND(MP, s); R.d = R.FP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void DA2(void) { R.s = DIND(MP, s); R.d = (uchar*)&R.PC->d.imm; R.m = R.FP+R.PC->reg; } static void DA3(void) { R.s = DIND(MP, s); } static void DA4(void) { R.s = DIND(MP, s); R.d = DIND(MP, d); R.m = R.FP+R.PC->reg; } static void DA5(void) { R.s = DIND(MP, s); R.d = DIND(FP, d); R.m = R.FP+R.PC->reg; } static void DA6(void) { R.s = DIND(MP, s); } static void DA7(void) { R.s = DIND(MP, s); } static void DA8(void) { R.s = DIND(FP, s); R.d = R.MP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void DA9(void) { R.s = DIND(FP, s); R.d = R.FP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void DAA(void) { R.s = DIND(FP, s); R.d = (uchar*)&R.PC->d.imm; R.m = R.FP+R.PC->reg; } static void DAB(void) { R.s = DIND(FP, s); } static void DAC(void) { R.s = DIND(FP, s); R.d = DIND(MP, d); R.m = R.FP+R.PC->reg; } static void DAD(void) { R.s = DIND(FP, s); R.d = DIND(FP, d); R.m = R.FP+R.PC->reg; } static void DAE(void) { R.s = DIND(FP, s); } static void DAF(void) { R.s = DIND(FP, s); } static void DB0(void) { R.d = R.MP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void DB1(void) { R.d = R.FP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void DB2(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.FP+R.PC->reg; } static void DB3(void) { } static void DB4(void) { R.d = DIND(MP, d); R.m = R.FP+R.PC->reg; } static void DB5(void) { R.d = DIND(FP, d); R.m = R.FP+R.PC->reg; } static void DB6(void) { } static void DB7(void) { } static void DB8(void) { R.d = R.MP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void DB9(void) { R.d = R.FP+R.PC->d.ind; R.m = R.FP+R.PC->reg; } static void DBA(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.FP+R.PC->reg; } static void DBB(void) { } static void DBC(void) { R.d = DIND(MP, d); R.m = R.FP+R.PC->reg; } static void DBD(void) { R.d = DIND(FP, d); R.m = R.FP+R.PC->reg; } static void DBE(void) { } static void DBF(void) { } static void DC0(void) { R.s = R.MP+R.PC->s.ind; R.d = R.MP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DC1(void) { R.s = R.MP+R.PC->s.ind; R.d = R.FP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DC2(void) { R.s = R.MP+R.PC->s.ind; R.d = (uchar*)&R.PC->d.imm; R.m = R.MP+R.PC->reg; } static void DC3(void) { R.s = R.MP+R.PC->s.ind; } static void DC4(void) { R.s = R.MP+R.PC->s.ind; R.d = DIND(MP, d); R.m = R.MP+R.PC->reg; } static void DC5(void) { R.s = R.MP+R.PC->s.ind; R.d = DIND(FP, d); R.m = R.MP+R.PC->reg; } static void DC6(void) { R.s = R.MP+R.PC->s.ind; } static void DC7(void) { R.s = R.MP+R.PC->s.ind; } static void DC8(void) { R.s = R.FP+R.PC->s.ind; R.d = R.MP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DC9(void) { R.s = R.FP+R.PC->s.ind; R.d = R.FP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DCA(void) { R.s = R.FP+R.PC->s.ind; R.d = (uchar*)&R.PC->d.imm; R.m = R.MP+R.PC->reg; } static void DCB(void) { R.s = R.FP+R.PC->s.ind; } static void DCC(void) { R.s = R.FP+R.PC->s.ind; R.d = DIND(MP, d); R.m = R.MP+R.PC->reg; } static void DCD(void) { R.s = R.FP+R.PC->s.ind; R.d = DIND(FP, d); R.m = R.MP+R.PC->reg; } static void DCE(void) { R.s = R.FP+R.PC->s.ind; } static void DCF(void) { R.s = R.FP+R.PC->s.ind; } static void DD0(void) { R.s = (uchar*)&R.PC->s.imm; R.d = R.MP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DD1(void) { R.s = (uchar*)&R.PC->s.imm; R.d = R.FP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DD2(void) { R.s = (uchar*)&R.PC->s.imm; R.d = (uchar*)&R.PC->d.imm; R.m = R.MP+R.PC->reg; } static void DD3(void) { R.s = (uchar*)&R.PC->s.imm; } static void DD4(void) { R.s = (uchar*)&R.PC->s.imm; R.d = DIND(MP, d); R.m = R.MP+R.PC->reg; } static void DD5(void) { R.s = (uchar*)&R.PC->s.imm; R.d = DIND(FP, d); R.m = R.MP+R.PC->reg; } static void DD6(void) { R.s = (uchar*)&R.PC->s.imm; } static void DD7(void) { R.s = (uchar*)&R.PC->s.imm; } static void DD8(void) { R.d = R.MP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DD9(void) { R.d = R.FP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DDA(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.MP+R.PC->reg; } static void DDB(void) { } static void DDC(void) { R.d = DIND(MP, d); R.m = R.MP+R.PC->reg; } static void DDD(void) { R.d = DIND(FP, d); R.m = R.MP+R.PC->reg; } static void DDE(void) { } static void DDF(void) { } static void DE0(void) { R.s = DIND(MP, s); R.d = R.MP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DE1(void) { R.s = DIND(MP, s); R.d = R.FP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DE2(void) { R.s = DIND(MP, s); R.d = (uchar*)&R.PC->d.imm; R.m = R.MP+R.PC->reg; } static void DE3(void) { R.s = DIND(MP, s); } static void DE4(void) { R.s = DIND(MP, s); R.d = DIND(MP, d); R.m = R.MP+R.PC->reg; } static void DE5(void) { R.s = DIND(MP, s); R.d = DIND(FP, d); R.m = R.MP+R.PC->reg; } static void DE6(void) { R.s = DIND(MP, s); } static void DE7(void) { R.s = DIND(MP, s); } static void DE8(void) { R.s = DIND(FP, s); R.d = R.MP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DE9(void) { R.s = DIND(FP, s); R.d = R.FP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DEA(void) { R.s = DIND(FP, s); R.d = (uchar*)&R.PC->d.imm; R.m = R.MP+R.PC->reg; } static void DEB(void) { R.s = DIND(FP, s); } static void DEC(void) { R.s = DIND(FP, s); R.d = DIND(MP, d); R.m = R.MP+R.PC->reg; } static void DED(void) { R.s = DIND(FP, s); R.d = DIND(FP, d); R.m = R.MP+R.PC->reg; } static void DEE(void) { R.s = DIND(FP, s); } static void DEF(void) { R.s = DIND(FP, s); } static void DF0(void) { R.d = R.MP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DF1(void) { R.d = R.FP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DF2(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.MP+R.PC->reg; } static void DF3(void) { } static void DF4(void) { R.d = DIND(MP, d); R.m = R.MP+R.PC->reg; } static void DF5(void) { R.d = DIND(FP, d); R.m = R.MP+R.PC->reg; } static void DF6(void) { } static void DF7(void) { } static void DF8(void) { R.d = R.MP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DF9(void) { R.d = R.FP+R.PC->d.ind; R.m = R.MP+R.PC->reg; } static void DFA(void) { R.d = (uchar*)&R.PC->d.imm; R.m = R.MP+R.PC->reg; } static void DFB(void) { } static void DFC(void) { R.d = DIND(MP, d); R.m = R.MP+R.PC->reg; } static void DFD(void) { R.d = DIND(FP, d); R.m = R.MP+R.PC->reg; } static void DFE(void) { } static void DFF(void) { } void (*dec[])(void) = { D00, D01, D02, D03, D04, D05, D06, D07, D08, D09, D0A, D0B, D0C, D0D, D0E, D0F, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D1A, D1B, D1C, D1D, D1E, D1F, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D2A, D2B, D2C, D2D, D2E, D2F, D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, D3A, D3B, D3C, D3D, D3E, D3F, D40, D41, D42, D43, D44, D45, D46, D47, D48, D49, D4A, D4B, D4C, D4D, D4E, D4F, D50, D51, D52, D53, D54, D55, D56, D57, D58, D59, D5A, D5B, D5C, D5D, D5E, D5F, D60, D61, D62, D63, D64, D65, D66, D67, D68, D69, D6A, D6B, D6C, D6D, D6E, D6F, D70, D71, D72, D73, D74, D75, D76, D77, D78, D79, D7A, D7B, D7C, D7D, D7E, D7F, D80, D81, D82, D83, D84, D85, D86, D87, D88, D89, D8A, D8B, D8C, D8D, D8E, D8F, D90, D91, D92, D93, D94, D95, D96, D97, D98, D99, D9A, D9B, D9C, D9D, D9E, D9F, DA0, DA1, DA2, DA3, DA4, DA5, DA6, DA7, DA8, DA9, DAA, DAB, DAC, DAD, DAE, DAF, DB0, DB1, DB2, DB3, DB4, DB5, DB6, DB7, DB8, DB9, DBA, DBB, DBC, DBD, DBE, DBF, DC0, DC1, DC2, DC3, DC4, DC5, DC6, DC7, DC8, DC9, DCA, DCB, DCC, DCD, DCE, DCF, DD0, DD1, DD2, DD3, DD4, DD5, DD6, DD7, DD8, DD9, DDA, DDB, DDC, DDD, DDE, DDF, DE0, DE1, DE2, DE3, DE4, DE5, DE6, DE7, DE8, DE9, DEA, DEB, DEC, DED, DEE, DEF, DF0, DF1, DF2, DF3, DF4, DF5, DF6, DF7, DF8, DF9, DFA, DFB, DFC, DFD, DFE, DFF };