From 37da2899f40661e3e9631e497da8dc59b971cbd0 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 22 Dec 2006 17:07:39 +0000 Subject: 20060303a --- libinterp/dec.c | 1811 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1811 insertions(+) create mode 100644 libinterp/dec.c (limited to 'libinterp/dec.c') diff --git a/libinterp/dec.c b/libinterp/dec.c new file mode 100644 index 00000000..d8169947 --- /dev/null +++ b/libinterp/dec.c @@ -0,0 +1,1811 @@ +/* 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 +}; -- cgit v1.2.3