#include "cskel.h"
char ctnull[] {0};
char cteqa01[] {
	LEA,' ',RADDR,',',LADDR,'\n',
	MOVL,' ',LADDR,',',CR,'\n',
	0 };
char cteqa02[] {
	LEA,' ',RADDR,',',CAR,'\n',
	MOVL,' ',CAR,',',LADDR,'\n',
	MOVL,' ',CAR,',',CR,'\n',
	0 };
char cteqa03[] {
	LEFT,S_NEXT|S_INDR,
	LEA,' ',RADDR,',',CAR,'\n',
	MOVL,' ',CAR,',',LOFFSET,'(',NAR,')','\n',
	MOVL,' ',CAR,',',CR,'\n',
	0 };
struct skeleton fr_eqaddr[] {
	SU_AREG|T_LONG,	SU_ANY|T_ANY,	cteqa01,
	SU_AREG|T_LONG,	SU_ANY|T_LONG,	cteqa01,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	cteqa02,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	cteqa02,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	cteqa03,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_LONG,	cteqa03,
	0,
};
char cteqa04[] {
	LEA,' ',RADDR,',',LADDR,'\n',
	0 };
char cteqa05[] {
	LEA,' ',RADDR,',',CAR,'\n',
	MOVL,' ',CAR,',',LADDR,'\n',
	0 };
char cteqa06[] {
	LEFT,S_NEXT|S_INDR,
	LEA,' ',RADDR,',',CAR,'\n',
	MOVL,' ',CAR,',',LOFFSET,'(',NAR,')','\n',
	0 };
struct skeleton fe_eqaddr[] {
	SU_AREG|T_LONG,	SU_ANY|T_ANY,	cteqa04,
	SU_AREG|T_LONG,	SU_ANY|T_LONG,	cteqa04,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	cteqa05,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	cteqa05,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	cteqa06,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_LONG,	cteqa06,
	0,
};
char ctcal01[] {
	JSR,' ',LADDR,'\n',
	0 };
char ctcal02[] {
	LEFT,S_INDR,
	JSR,' ',LOFFSET,'(',CAR,')','\n',
	0 };
char ctcal03[] {
	LEFT,0,
	MOV,' ',CR,',',CAR,'\n',
	JSR,' ','(',CAR,')','\n',
	0 };
struct skeleton fr_call[] {
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctcal01,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctcal01,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctcal02,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctcal02,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctcal03,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctcal03,
	0,
};
char ct109[] {
	CLR,' ',CR,'\n',
	0 };
char ctlod01[] {
	CLR,TLEFT,' ',CR,'\n',
	0 };
char ctlod02[] {
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	EXTW,' ',CR,'\n',
	0 };
char ctlod03[] {
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	0 };
char ctlod04[] {
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXTW,' ',CR,'\n',
	0 };
char ctlod05[] {
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	0 };
struct skeleton fr_ld[] {
	SU_ZERO|T_CHAR,	SU_ANY|T_ANY,	ct109,
	SU_ZERO|T_INT,	SU_ANY|T_ANY,	ctlod01,
	SU_ZERO|T_LONG,	SU_ANY|T_ANY,	ctlod01,
	SU_ADDR|T_CHAR,	SU_ANY|T_ANY,	ctlod02,
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctlod03,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctlod03,
	SU_ADDR|T_FLOAT,	SU_ANY|T_ANY,	ctlod03,
	SU_ANY|T_CHAR|T_INDR,	SU_ANY|T_ANY,	ctlod04,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctlod05,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctlod05,
	SU_ANY|T_FLOAT|T_INDR,	SU_ANY|T_ANY,	ctlod05,
	0,
};
char ct115[] {
	CLR,' ',PSH,'\n',
	0 };
char ctlod06[] {
	CLR,TLEFT,' ',PSH,'\n',
	0 };
char ctlod07[] {
	LEFT,0,
	MOV,' ',CR,',',PSH,'\n',
	0 };
char ctlod08[] {
	MOV,TLEFT,' ',LADDR,',',PSH,'\n',
	0 };
char ctlod09[] {
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',PSH,'\n',
	0 };
struct skeleton fs_ld[] {
	SU_ZERO|T_CHAR,	SU_ANY|T_ANY,	ct115,
	SU_ZERO|T_INT,	SU_ANY|T_ANY,	ctlod06,
	SU_ZERO|T_LONG,	SU_ANY|T_ANY,	ctlod06,
	SU_ADDR|T_CHAR,	SU_ANY|T_ANY,	ctlod07,
	SU_ADDR|T_INT,	SU_ANY|T_ANY,	ctlod08,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctlod08,
	SU_ADDR|T_FLOAT,	SU_ANY|T_ANY,	ctlod08,
	SU_ANY|T_INT|T_INDR,	SU_ANY|T_ANY,	ctlod09,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctlod09,
	SU_ANY|T_FLOAT|T_INDR,	SU_ANY|T_ANY,	ctlod09,
	0,
};
char ctpst01[] {
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	OP,TLEFT,' ',RADDR,',',LADDR,'\n',
	0 };
char ctpst02[] {
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	OP,TLEFT,' ',RADDR,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fr_postop[] {
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctpst01,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctpst01,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctpst02,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctpst02,
	0,
};
char ctneg01[] {
	LEFT,0,
	OP,TLEFT,' ',CR,'\n',
	0 };
char ctneg02[] {
	LEFT,S_STACK,
	JSR,' ',OPCALL,'\n',
	POP4,0 };
struct skeleton fr_neg[] {
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctneg01,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctneg01,
	SU_ANY|T_FLOAT,	SU_ANY|T_ANY,	ctneg02,
	0,
};
char ctasg01[] {
	CLRL,' ',CR,'\n',
	MOV,' ',RADDR,',',CR,'\n',
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctasg02[] {
	RIGHT,0,
	EXRL,
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctasg03[] {
	LEFT,S_INDR,
	CLRL,' ',CR,'\n',
	MOV,' ',RADDR,',',CR,'\n',
	OP,TLEFT,' ',LOFFSET,'(',NAR,')',',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',NAR,')','\n',
	0 };
char ctasg04[] {
	LEFT,S_INDR,
	MOV,TRIGHT,' ',RADDR,',',CR,'\n',
	EXRL,
	OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctasg05[] {
	RIGHT,0,
	EXRL,
	LEFT,S_NEXT|S_INDR,
	OP,TLEFT,' ',CR,',',LOFFSET,'(',NAR,')','\n',
	0 };
char ctasg06[] {
	LEFT,S_STACK|S_INDR,
	RIGHT,0,
	EXRL,
	MOVL,' ',POP,',',CAR,'\n',
	OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fr_assign[] {
	SU_ADDR|T_LONG,	SU_ADDR|T_UNSN,	ctasg01,
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctasg02,
	SU_ADDR|T_ANY,	SU_ANY|T_LONG,	ctasg02,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctasg02,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	ctasg02,
	SU_ADDR|T_FLOAT,	SU_ANY|T_FLOAT,	ctasg02,
	SU_ANY|T_LONG|T_INDR,	SU_ADDR|T_UNSN,	ctasg03,
	SU_ANY|T_ANY|T_INDR,	SU_ADDR|T_INT,	ctasg04,
	SU_ANY|T_ANY|T_INDR,	SU_ADDR|T_LONG,	ctasg04,
	SU_ANY|T_LONG|T_INDR,	SU_ADDR|T_INT,	ctasg04,
	SU_ANY|T_LONG|T_INDR,	SU_ADDR|T_LONG,	ctasg04,
	SU_ANY|T_FLOAT|T_INDR,	SU_ADDR|T_FLOAT,	ctasg04,
	SU_EASY|T_ANY|T_INDR,	SU_EASY|T_ANY,	ctasg05,
	SU_EASY|T_ANY|T_INDR,	SU_EASY|T_LONG,	ctasg05,
	SU_EASY|T_LONG|T_INDR,	SU_EASY|T_LONG,	ctasg05,
	SU_EASY|T_LONG|T_INDR,	SU_EASY|T_ANY,	ctasg05,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctasg06,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_LONG,	ctasg06,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctasg06,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_LONG,	ctasg06,
	SU_ANY|T_FLOAT|T_INDR,	SU_ANY|T_FLOAT,	ctasg06,
	0,
};
char ctasg07[] {
	AOP,TLEFT,' ',LADDR,'\n',
	0 };
char ctasg08[] {
	LEFT,S_INDR,
	AOP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
	0 };
char ctasg09[] {
	OP,TLEFT,' ',RADDR,',',LADDR,'\n',
	0 };
char ctasg10[] {
	RIGHT,0,
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctasg11[] {
	OP,TRIGHT,' ',RADDR,',',LADDR,'\n',
	EXTW,' ',LADDR,'\n',
	0 };
char ctasg12[] {
	OP,TRIGHT,' ',RADDR,',',LADDR,'\n',
	EXTW,' ',LADDR,'\n',
	EXTL,' ',LADDR,'\n',
	0 };
char ctasg13[] {
	CLRL,' ',LADDR,'\n',
	MOV,' ',RADDR,',',LADDR,'\n',
	0 };
char ctasg22[] {
	OP,TRIGHT,' ',RADDR,',',LADDR,'\n',
	0 };
char ctasg14[] {
	OP,TRIGHT,' ',RADDR,',',LADDR,'\n',
	EXTL,' ',LADDR,'\n',
	0 };
char ctasg15[] {
	MOV,' ',RADDR,',',CAR,'\n',
	OP,TLEFT,' ',CAR,',',LADDR,'\n',
	0 };
char ctasg16[] {
	LEFT,S_INDR,
	CLRL,' ',CR,'\n',
	OP,' ',RADDR,',',CR,'\n',
	OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctasg17[] {
	RIGHT,S_INDR,
	OP,TLEFT,' ',ROFFSET,'(',CAR,')',',',LADDR,'\n',
	0 };
char ctasg18[] {
	RIGHT,0,
	EXRL,
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctasg19[] {
	LEFT,S_INDR,
	OP,TLEFT,' ',RADDR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctasg20[] {
	LEFT,S_INDR,
	RIGHT,S_NEXT|S_INDR,
	OP,TLEFT,' ',ROFFSET,'(',NAR,')',',',LOFFSET,'(',CAR,')','\n',
	0 };
char ct147[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	OP,TLEFT,' ',POP,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fe_assign[] {
	SU_ADDR|T_ANY,	SU_ZERO|T_ANY,	ctasg07,
	SU_ADDR|T_LONG,	SU_ZERO|T_ANY,	ctasg07,
	SU_ANY|T_ANY|T_INDR,	SU_ZERO|T_ANY,	ctasg08,
	SU_ADDR|T_CHAR,	SU_ADDR|T_CHAR,	ctasg09,
	SU_ADDR|T_INT,	SU_ADDR|T_INT,	ctasg09,
	SU_ADDR|T_LONG,	SU_ADDR|T_LONG,	ctasg09,
	SU_ADDR|T_ANY,	SU_CONST|T_INT,	ctasg09,
	SU_ADDR|T_LONG,	SU_CONST|T_INT,	ctasg09,
	SU_ADDR|T_ANY,	SU_REG|T_INT,	ctasg09,
	SU_ADDR|T_ANY,	SU_REG|T_LONG,	ctasg09,
	SU_ADDR|T_FLOAT,	SU_ADDR|T_FLOAT,	ctasg09,
	SU_AREG|T_LONG,	SU_ADDR|T_CHAR,	ctasg10,
	SU_AREG|T_ANY,	SU_ADDR|T_CHAR,	ctasg10,
	SU_REG|T_INT,	SU_ADDR|T_CHAR,	ctasg11,
	SU_REG|T_LONG,	SU_ADDR|T_CHAR,	ctasg12,
	SU_REG|T_LONG,	SU_ADDR|T_UNSN,	ctasg13,
	SU_AREG|T_LONG,	SU_ADDR|T_INT,	ctasg22,
	SU_REG|T_LONG,	SU_ADDR|T_INT,	ctasg14,
	SU_ADDR|T_LONG,	SU_ADDR|T_UNSN,	ctasg01,
	SU_ADDR|T_LONG,	SU_ADDR|T_INT,	ctasg15,
	SU_ANY|T_LONG|T_INDR,	SU_ADDR|T_UNSN,	ctasg16,
	SU_ADDR|T_CHAR,	SU_ANY|T_CHAR|T_INDR,	ctasg17,
	SU_ADDR|T_INT,	SU_ANY|T_INT|T_INDR,	ctasg17,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG|T_INDR,	ctasg17,
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctasg18,
	SU_ADDR|T_ANY,	SU_ANY|T_LONG,	ctasg18,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctasg18,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	ctasg18,
	SU_ANY|T_INT|T_INDR,	SU_ADDR|T_INT,	ctasg19,
	SU_ANY|T_CHAR|T_INDR,	SU_ADDR|T_CHAR,	ctasg19,
	SU_ANY|T_LONG|T_INDR,	SU_ADDR|T_LONG,	ctasg19,
	SU_ANY|T_ANY|T_INDR,	SU_CONST|T_INT,	ctasg19,
	SU_ANY|T_LONG|T_INDR,	SU_CONST|T_INT,	ctasg19,
	SU_ANY|T_FLOAT|T_INDR,	SU_ADDR|T_FLOAT,	ctasg19,
	SU_EASY|T_CHAR|T_INDR,	SU_EASY|T_CHAR|T_INDR,	ctasg20,
	SU_EASY|T_INT|T_INDR,	SU_EASY|T_INT|T_INDR,	ctasg20,
	SU_EASY|T_LONG|T_INDR,	SU_EASY|T_LONG|T_INDR,	ctasg20,
	SU_EASY|T_ANY|T_INDR,	SU_EASY|T_ANY,	ctasg05,
	SU_EASY|T_ANY|T_INDR,	SU_EASY|T_LONG,	ctasg05,
	SU_EASY|T_LONG|T_INDR,	SU_EASY|T_ANY,	ctasg05,
	SU_EASY|T_LONG|T_INDR,	SU_EASY|T_LONG,	ctasg05,
	SU_ANY|T_INT|T_INDR,	SU_ANY|T_ANY,	ct147,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_LONG,	ct147,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctasg06,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_LONG,	ctasg06,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctasg06,
	SU_ANY|T_FLOAT|T_INDR,	SU_ADDR|T_FLOAT,	ctasg06,
	0,
};
char ctbop01[] {
	LEFT,0,
	0 };
char ctbop02[] {
	LEFT,0,
	EXLR,
	OP,TRIGHT,' ',RADDR,',',CR,'\n',
	0 };
char ctbop03[] {
	LEFT,0,
	CLRL,' ',NR,'\n',
	MOV,' ',RADDR,',',NR,'\n',
	OP,TLEFT,' ',NR,',',CR,'\n',
	0 };
char ctbop04[] {
	CLRL,' ',CR,'\n',
	MOV,' ',LADDR,',',CR,'\n',
	RIGHT,S_NEXT,
	OP,TRIGHT,' ',NR,',',CR,'\n',
	0 };
char ctbop05[] {
	LEFT,0,
	OP,TLEFT,' ',RADDR,',',CR,'\n',
	0 };
char ctbop06[] {
	LEFT,0,
	EXLR,
	RIGHT,S_NEXT,
	EXRLN,
	OP,TEITHER,' ',NR,',',CR,'\n',
	0 };
char ctbop07[] {
	RIGHT,0,
	EXRL,
	MOVL,' ',CR,',',PSH,'\n',
	LEFT,0,
	OP,TLEFT,' ',POP,',',CR,'\n',
	0 };
char ctbop08[] {
	RIGHT,S_STACK,
	LEFT,0,
	EXLR,
	OP,TRIGHT,' ',POP,',',CR,'\n',
	0 };
char ctbop09[] {
	RIGHT,S_STACK,
	LEFT,0,
	OP,' ',POP,',',CR,'\n',
	0 };
char ctbop12[] {
	RIGHT,S_STACK,
	LEFT,S_STACK,
	JSR,' ',OPCALL,'\n',
	POP8,0 };
struct skeleton fr_op[] {
	SU_ANY|T_ANY,	SU_ZERO|T_ANY,	ctbop01,
	SU_ANY|T_ANY,	SU_ADDR|T_INT,	ctbop02,
	SU_ANY|T_ANY,	SU_ADDR|T_LONG,	ctbop02,
	SU_ANY|T_LONG,	SU_ADDR|T_LONG,	ctbop02,
	SU_ANY|T_LONG,	SU_ADDR|T_UNSN,	ctbop03,
	SU_ADDR|T_UNSN,	SU_ANY|T_LONG,	ctbop04,
	SU_ANY|T_LONG,	SU_CONST|T_INT,	ctbop05,
	SU_ANY|T_LONG,	SU_ADDR|T_LONG,	ctbop05,
	SU_ANY|T_ANY,	SU_EASY|T_ANY,	ctbop06,
	SU_ANY|T_ANY,	SU_EASY|T_LONG,	ctbop06,
	SU_ANY|T_LONG,	SU_EASY|T_ANY,	ctbop06,
	SU_ANY|T_LONG,	SU_EASY|T_LONG,	ctbop06,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctbop07,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ctbop07,
	SU_ANY|T_ANY,	SU_ANY|T_LONG,	ctbop08,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ctbop08,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctbop09,
	SU_ANY|T_FLOAT,	SU_ANY|T_FLOAT,	ctbop12,
	0,
};
char ctbop10[] {
	LEFT,S_STACK,
	OP,TLEFTL,' ',RADDR,',',STK,'\n',
	0 };
char ctbop11[] {
	LEFT,S_STACK,
	RIGHT,0,
	OP,TLEFTL,' ',CR,',',STK,'\n',
	0 };
struct skeleton fs_op[] {
	SU_ANY|T_ANY,	SU_CONST|T_INT,	ctbop10,
	SU_ANY|T_LONG,	SU_CONST|T_INT,	ctbop10,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctbop11,
	0,
};
char ctxor01[] {
	LEFT,S_STACK,
	RIGHT,0,
	OP,' ',CR,',',STK,'\n',
	MOV,' ',POP,',',CR,'\n',
	0 };
struct skeleton fr_xor[] {
	SU_ANY|T_ANY,	SU_EASY|T_ANY,	ctbop06,
	SU_ANY|T_ANY,	SU_EASY|T_LONG,	ctbop06,
	SU_ANY|T_LONG,	SU_EASY|T_ANY,	ctbop06,
	SU_ANY|T_LONG,	SU_EASY|T_LONG,	ctbop06,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctxor01,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ctbop07,
	0,
};
char ctshf01[] {
	LEFT,0,
	OP,TLEFTL,' ',RADDR,',',CR,'\n',
	0 };
char ctshf02[] {
	LEFT,0,
	RIGHT,S_NEXT,
	OP,TLEFTL,' ',NR,',',CR,'\n',
	0 };
char ctshf03[] {
	RIGHT,S_STACK,
	LEFT,0,
	MOV,TRIGHT,' ',POP,',',NR,'\n',
	OP,TLEFTL,' ',NR,',',CR,'\n',
	0 };
struct skeleton fr_shft[] {
	SU_ANY|T_ANY,	SU_ZERO|T_ANY,	ctbop01,
	SU_ANY|T_LONG,	SU_ZERO|T_ANY,	ctbop01,
	SU_ANY|T_ANY,	SU_SMALL|T_INT,	ctshf01,
	SU_ANY|T_LONG,	SU_SMALL|T_INT,	ctshf01,
	SU_ANY|T_ANY,	SU_EASY|T_ANY,	ctshf02,
	SU_ANY|T_ANY,	SU_EASY|T_LONG,	ctshf02,
	SU_ANY|T_LONG,	SU_EASY|T_ANY,	ctshf02,
	SU_ANY|T_LONG,	SU_EASY|T_LONG,	ctshf02,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctshf03,
	SU_ANY|T_ANY,	SU_ANY|T_LONG,	ctshf03,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctshf03,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ctshf03,
	0,
};
char ctmul01[] {
	LEFT,0,
	OP,' ',RADDR,',',CR,'\n',
	0 };
char ctmul02[] {
	LEFT,0,
	RIGHT,S_NEXT|S_INDR,
	OP,' ',ROFFSET,'(',NAR,')',',',CR,'\n',
	0 };
char ctmul03[] {
	LEFT,0,
	RIGHT,S_NEXT,
	OP,' ',NR,',',CR,'\n',
	0 };
char ctmul04[] {
	RIGHT,S_STACK,
	LEFT,0,
	OP,' ',POP,',',CR,'\n',
	0 };
char ctmul05[] {
	MOVL,' ',RADDR,',',PSH,'\n',
	LEFT,S_STACK,
	JSR,' ',OPCALL,'\n',
	POP8,0 };
char ctmul06[] {
	RIGHT,0,
	EXRL,
	MOVL,' ',CR,',',PSH,'\n',
	LEFT,S_STACK,
	JSR,' ',OPCALL,'\n',
	POP8,0 };
char ctmul07[] {
	LEFT,0,
	EXLR,
	MOVL,' ',CR,',',PSH,'\n',
	RIGHT,S_STACK,
	JSR,' ',OPCALL,'\n',
	POP8,0 };
struct skeleton fr_mult[] {
	SU_ANY|T_ANY,	SU_ADDR|T_ANY,	ctmul01,
	SU_ANY|T_ANY,	SU_EASY|T_ANY|T_INDR,	ctmul02,
	SU_ANY|T_ANY,	SU_EASY|T_ANY,	ctmul03,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctmul04,
	SU_ANY|T_LONG,	SU_CONST|T_INT,	ctmul05,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctmul06,
	SU_ANY|T_ANY,	SU_ANY|T_LONG,	ctmul07,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ctbop12,
	SU_ANY|T_FLOAT,	SU_ANY|T_FLOAT,	ctbop12,
	0,
};
char ctdiv01[] {
	CLRL,' ',CR,'\n',
	MOV,' ',LADDR,',',CR,'\n',
	OP,' ',RADDR,',',CR,'\n',
	MODSWAP,0 };
char ctdiv02[] {
	LEFT,0,
	EXL,
	OP,' ',RADDR,',',CR,'\n',
	MODSWAP,0 };
char ctdiv03[] {
	RIGHT,S_INDR,
	CLRL,' ',CR,'\n',
	MOV,' ',LADDR,',',CR,'\n',
	OP,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
	MODSWAP,0 };
char ctdiv04[] {
	LEFT,0,
	EXL,
	RIGHT,S_NEXT|S_INDR,
	OP,' ',ROFFSET,'(',NAR,')',',',CR,'\n',
	MODSWAP,0 };
char ctdiv05[] {
	CLRL,' ',CR,'\n',
	MOV,' ',LADDR,',',CR,'\n',
	RIGHT,S_NEXT,
	OP,' ',NR,',',CR,'\n',
	MODSWAP,0 };
char ctdiv06[] {
	LEFT,0,
	EXL,
	RIGHT,S_NEXT,
	OP,' ',NR,',',CR,'\n',
	MODSWAP,0 };
char ctdiv07[] {
	RIGHT,S_STACK,
	LEFT,0,
	EXL,
	OP,' ',POP,',',CR,'\n',
	MODSWAP,0 };
struct skeleton fr_div[] {
	SU_ADDR|T_UNSN,	SU_ADDR|T_INT,	ctdiv01,
	SU_ANY|T_ANY,	SU_ADDR|T_INT,	ctdiv02,
	SU_ANY|T_LONG,	SU_ADDR|T_INT,	ctdiv02,
	SU_ADDR|T_UNSN,	SU_EASY|T_INT|T_INDR,	ctdiv03,
	SU_ANY|T_ANY,	SU_EASY|T_INT|T_INDR,	ctdiv04,
	SU_ANY|T_LONG,	SU_EASY|T_INT|T_INDR,	ctdiv04,
	SU_ADDR|T_UNSN,	SU_EASY|T_ANY,	ctdiv05,
	SU_ANY|T_ANY,	SU_EASY|T_ANY,	ctdiv06,
	SU_ANY|T_LONG,	SU_EASY|T_ANY,	ctdiv06,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctdiv07,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctdiv07,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ctbop12,
	SU_ANY|T_FLOAT,	SU_ANY|T_FLOAT,	ctbop12,
	0,
};
char ctreo01[] {
	OP,TLEFT,' ',RADDR,',',LADDR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	0 };
char ctreo02[] {
	CLRL,' ',CR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	OP,TRIGHT,' ',RADDR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo03[] {
	LEFT,0,
	EXLR,
	OP,TRIGHT,' ',RADDR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo04[] {
	RIGHT,S_INDR,
	CLRL,' ',CR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	OP,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo05[] {
	RIGHT,S_INDR,
	LEFT,0,
	EXLR,
	OP,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo06[] {
	RIGHT,S_STACK,
	LEFT,S_STACK,
	JSR,' ',OPCALL,'\n',
	POP8,MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo07[] {
	CLRL,' ',CR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	RIGHT,S_NEXT,
	EXRLN,
	OP,TRIGHT,' ',NR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo08[] {
	LEFT,0,
	EXLR,
	RIGHT,S_NEXT,
	EXRLN,
	OP,TEITHER,' ',NR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo09[] {
	RIGHT,S_STACK,
	CLRL,' ',CR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	OP,TRIGHT,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo10[] {
	RIGHT,S_STACK,
	LEFT,0,
	EXLR,
	OP,TRIGHT,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo11[] {
	RIGHT,0,
	EXRL,
	MOV,TLEFT,' ',CR,',',PSH,'\n',
	LEFT,0,
	OP,TLEFT,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo12[] {
	RIGHT,S_STACK,
	LEFT,0,
	OP,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctreo13[] {
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXTW,'\n',
	EXLR,
	OP,TRIGHT,' ',RADDR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo14[] {
	LEFT,S_INDR,
	OP,TLEFT,' ',RADDR,',',LOFFSET,'(',CAR,')','\n',
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	0 };
char ctreo15[] {
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXLR,
	OP,TRIGHT,' ',RADDR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo16[] {
	RIGHT,S_NEXT,
	EXRLN,
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXLR,
	OP,TRIGHT,' ',NR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo17[] {
	RIGHT,S_NEXT,
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXTW,'\n',
	EXLR,
	OP,TRIGHT,' ',NR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo18[] {
	RIGHT,S_NEXT,
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXTW,'\n',
	OP,' ',NR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo19[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	MOV,TLEFT,' ',CR,',',PSH,'\n',
	JSR,' ',OPCALL,'\n',
	POP8,MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo20[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXLR,
	OP,TRIGHT,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo21[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXTW,'\n',
	EXLR,
	OP,TRIGHT,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo22[] {
	RIGHT,0,
	EXRL,
	MOV,TLEFT,' ',CR,',',PSH,'\n',
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	OP,TLEFT,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctreo23[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXTW,'\n',
	OP,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fr_eqop[] {
	SU_ADDR|T_INT,	SU_CONST|T_INT,	ctreo01,
	SU_ADDR|T_LONG,	SU_CONST|T_INT,	ctreo01,
	SU_ADDR|T_UNSN,	SU_ADDR|T_LONG,	ctreo02,
	SU_ADDR|T_CHAR,	SU_CONST|T_INT,	ctreo03,
	SU_ADDR|T_ANY,	SU_ADDR|T_INT,	ctreo03,
	SU_ADDR|T_ANY,	SU_ADDR|T_LONG,	ctreo03,
	SU_ADDR|T_LONG,	SU_ADDR|T_LONG,	ctreo03,
	SU_ADDR|T_UNSN,	SU_ANY|T_LONG|T_INDR,	ctreo04,
	SU_ADDR|T_ANY,	SU_ANY|T_INT|T_INDR,	ctreo05,
	SU_ADDR|T_ANY,	SU_ANY|T_LONG|T_INDR,	ctreo05,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG|T_INDR,	ctreo05,
	SU_ADDR|T_FLOAT,	SU_ANY|T_FLOAT,	ctreo06,
	SU_ADDR|T_UNSN,	SU_EASY|T_LONG,	ctreo07,
	SU_ADDR|T_ANY,	SU_EASY|T_ANY,	ctreo08,
	SU_ADDR|T_ANY,	SU_EASY|T_LONG,	ctreo08,
	SU_ADDR|T_LONG,	SU_EASY|T_ANY,	ctreo08,
	SU_ADDR|T_LONG,	SU_EASY|T_LONG,	ctreo08,
	SU_ADDR|T_UNSN,	SU_ANY|T_LONG,	ctreo09,
	SU_ADDR|T_ANY,	SU_ANY|T_INT,	ctreo10,
	SU_ADDR|T_ANY,	SU_ANY|T_LONG,	ctreo10,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	ctreo10,
	SU_ADDR|T_INT,	SU_ANY|T_CHAR,	ctreo11,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctreo11,
	SU_ADDR|T_CHAR,	SU_ANY|T_CHAR,	ctreo12,
	SU_ANY|T_CHAR|T_INDR,	SU_ADDR|T_INT,	ctreo13,
	SU_ANY|T_CHAR|T_INDR,	SU_ADDR|T_LONG,	ctreo13,
	SU_ANY|T_INT|T_INDR,	SU_CONST|T_INT,	ctreo14,
	SU_ANY|T_LONG|T_INDR,	SU_CONST|T_INT,	ctreo14,
	SU_ANY|T_INT|T_INDR,	SU_ADDR|T_INT,	ctreo15,
	SU_ANY|T_INT|T_INDR,	SU_ADDR|T_LONG,	ctreo15,
	SU_ANY|T_LONG|T_INDR,	SU_ADDR|T_LONG,	ctreo15,
	SU_ANY|T_INT|T_INDR,	SU_EASY|T_ANY,	ctreo16,
	SU_ANY|T_INT|T_INDR,	SU_EASY|T_LONG,	ctreo16,
	SU_ANY|T_LONG|T_INDR,	SU_EASY|T_ANY,	ctreo16,
	SU_ANY|T_LONG|T_INDR,	SU_EASY|T_LONG,	ctreo16,
	SU_ANY|T_CHAR|T_INDR,	SU_EASY|T_INT,	ctreo17,
	SU_ANY|T_CHAR|T_INDR,	SU_EASY|T_LONG,	ctreo17,
	SU_ANY|T_CHAR|T_INDR,	SU_EASY|T_CHAR,	ctreo18,
	SU_ANY|T_FLOAT|T_INDR,	SU_ANY|T_FLOAT,	ctreo19,
	SU_ANY|T_INT|T_INDR,	SU_ANY|T_INT,	ctreo20,
	SU_ANY|T_CHAR|T_INDR,	SU_ANY|T_INT,	ctreo21,
	SU_ANY|T_CHAR|T_INDR,	SU_ANY|T_LONG,	ctreo21,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctreo22,
	SU_ANY|T_CHAR|T_INDR,	SU_ANY|T_CHAR,	ctreo23,
	0,
};
char cteop01[] {
	RIGHT,S_INDR,
	MOV,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char cteop02[] {
	RIGHT,S_INDR,
	LEFT,S_NEXT|S_INDR,
	MOV,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
	OP,TLEFT,' ',CR,',',LOFFSET,'(',NAR,')','\n',
	0 };
char cteop03[] {
	RIGHT,S_INDR,
	MOV,TLEFT,' ',LADDR,',',NR,'\n',
	OP,TRIGHT,' ',ROFFSET,'(',CAR,')',',',NR,'\n',
	MOV,TLEFT,' ',NR,',',LADDR,'\n',
	0 };
char cteop04[] {
	RIGHT,0,
	MOV,TLEFT,' ',LADDR,',',NR,'\n',
	OP,TLEFT,' ',CR,',',NR,'\n',
	MOV,TLEFT,' ',NR,',',LADDR,'\n',
	0 };
char cteop05[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	OP,TRIGHT,' ',POP,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char cteop06[] {
	CLRL,' ',CR,'\n',
	MOV,' ',RADDR,',',CR,'\n',
	OP,TLEFT,' ',RADDR,',',LADDR,'\n',
	0 };
char cteop07[] {
	RIGHT,0,
	EXRL,
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char cteop08[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	MOV,TRIGHT,' ',POP,',',CR,'\n',
	OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char cteop09[] {
	LEFT,S_INDR,
	MOV,TRIGHT,' ',RADDR,',',CR,'\n',
	EXRL,
	OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char cteop10[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	MOV,TRIGHT,' ',POP,',',CR,'\n',
	EXRL,
	OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fe_eqop[] {
	SU_ANY|T_ANY|T_INDR,	SU_ZERO|T_ANY,	ctnull,
	SU_ADDR|T_ANY,	SU_ZERO|T_ANY,	ctnull,
	SU_ANY|T_LONG,	SU_ZERO|T_ANY,	ctnull,
	SU_ANY|T_LONG|T_INDR,	SU_ZERO|T_ANY,	ctnull,
	SU_ADDR|T_ANY,	SU_CONST|T_INT,	ctasg09,
	SU_ADDR|T_LONG,	SU_CONST|T_INT,	ctasg09,
	SU_ANY|T_ANY|T_INDR,	SU_CONST|T_INT,	ctasg19,
	SU_ANY|T_LONG|T_INDR,	SU_CONST|T_INT,	ctasg19,
	SU_ADDR|T_LONG,	SU_AREG|T_LONG,	ctasg02,
	SU_ADDR|T_INT,	SU_REG|T_INT,	ctasg09,
	SU_REG|T_INT,	SU_ADDR|T_INT,	ctasg09,
	SU_ADDR|T_LONG,	SU_REG|T_LONG,	ctasg09,
	SU_REG|T_LONG,	SU_ADDR|T_LONG,	ctasg09,
	SU_AREG|T_LONG,	SU_REG|T_INT,	ctasg22,
	SU_ADDR|T_INT,	SU_ADDR|T_INT,	ctasg02,
	SU_ADDR|T_CHAR,	SU_ADDR|T_CHAR,	ctasg02,
	SU_ADDR|T_LONG,	SU_ADDR|T_LONG,	ctasg02,
	SU_ADDR|T_INT,	SU_ANY|T_INT|T_INDR,	cteop01,
	SU_ADDR|T_INT,	SU_ANY|T_ANY,	ctasg02,
	SU_EASY|T_INT|T_INDR,	SU_ANY|T_INT|T_INDR,	cteop02,
	SU_EASY|T_LONG|T_INDR,	SU_ANY|T_LONG|T_INDR,	cteop02,
	SU_ADDR|T_ANY,	SU_ANY|T_INT|T_INDR,	cteop03,
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	cteop04,
	SU_EASY|T_INT|T_INDR,	SU_EASY|T_ANY,	ctasg05,
	SU_ANY|T_INT|T_INDR,	SU_ANY|T_ANY,	ctasg06,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	cteop05,
	SU_REG|T_LONG,	SU_ADDR|T_UNSN,	cteop06,
	SU_REG|T_LONG,	SU_ADDR|T_ANY,	cteop07,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctasg02,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG|T_INDR,	cteop01,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	ctasg02,
	SU_EASY|T_LONG|T_INDR,	SU_EASY|T_LONG,	ctasg05,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_LONG,	cteop08,
	SU_ANY|T_LONG|T_INDR,	SU_ADDR|T_ANY,	cteop09,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	cteop10,
	0,
};
struct skeleton fr_eqmult[] {
	SU_ADDR|T_ANY,	SU_ADDR|T_INT,	ctreo03,
	SU_ADDR|T_ANY,	SU_ANY|T_INT|T_INDR,	ctreo05,
	SU_ADDR|T_FLOAT,	SU_ANY|T_FLOAT,	ctreo06,
	SU_ADDR|T_ANY,	SU_EASY|T_ANY,	ctreo08,
	SU_ADDR|T_ANY,	SU_ANY|T_INT,	ctreo10,
	SU_ADDR|T_INT,	SU_ANY|T_CHAR,	ctreo11,
	SU_ADDR|T_CHAR,	SU_ANY|T_CHAR,	ctreo12,
	SU_ANY|T_CHAR|T_INDR,	SU_ADDR|T_INT,	ctreo13,
	SU_ANY|T_INT|T_INDR,	SU_ADDR|T_INT,	ctreo15,
	SU_ANY|T_INT|T_INDR,	SU_EASY|T_ANY,	ctreo16,
	SU_ANY|T_CHAR|T_INDR,	SU_EASY|T_INT,	ctreo17,
	SU_ANY|T_CHAR|T_INDR,	SU_EASY|T_CHAR,	ctreo18,
	SU_ANY|T_FLOAT|T_INDR,	SU_ANY|T_FLOAT,	ctreo19,
	SU_ANY|T_INT|T_INDR,	SU_ANY|T_INT,	ctreo20,
	SU_ANY|T_CHAR|T_INDR,	SU_ANY|T_INT,	ctreo21,
	SU_ANY|T_CHAR|T_INDR,	SU_ANY|T_CHAR,	ctreo23,
	0,
};
char ct247[] {
	AOP,' ',RADDR,',',LADDR,'\n',
	0 };
struct skeleton fe_eqmult[] {
	SU_REG|T_INT,	SU_ADDR|T_INT,	ctasg09,
	SU_REG|T_UNSN,	SU_ADDR|T_INT,	ct247,
	SU_REG|T_UNSN,	SU_ADDR|T_UNSN,	ct247,
	0,
};
char ctedv01[] {
	CLRL,' ',CR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	OP,' ',RADDR,',',CR,'\n',
	MODSWAP,MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ct249[] {
	OP,' ',RADDR,',',LADDR,'\n',
	EXTL,' ',LADDR,'\n',
	0 };
char ct250[] {
	EXTL,' ',LADDR,'\n',
	OP,' ',RADDR,',',LADDR,'\n',
	0 };
struct skeleton fe_eqdiv[] {
	SU_ADDR|T_UNSN,	SU_ADDR|T_INT,	ctedv01,
	SU_REG|T_LONG,	SU_ADDR|T_INT,	ct249,
	SU_REG|T_INT,	SU_ADDR|T_INT,	ct250,
	0,
};
char ct252[] {
	OP,' ',RADDR,',',LADDR,'\n',
	's','w','a','p',' ',LADDR,'\n',
	EXTL,' ',LADDR,'\n',
	0 };
char ct253[] {
	EXTL,' ',LADDR,'\n',
	OP,' ',RADDR,',',LADDR,'\n',
	's','w','a','p',' ',LADDR,'\n',
	0 };
struct skeleton fe_eqmod[] {
	SU_ADDR|T_UNSN,	SU_ADDR|T_INT,	ctedv01,
	SU_REG|T_LONG,	SU_ADDR|T_INT,	ct252,
	SU_REG|T_INT,	SU_ADDR|T_INT,	ct253,
	0,
};
char ctedv02[] {
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	EXL,
	OP,' ',RADDR,',',CR,'\n',
	MODSWAP,MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctedv03[] {
	CLRL,' ',CR,'\n',
	MOV,' ',LADDR,',',CR,'\n',
	RIGHT,S_NEXT,
	OP,' ',NR,',',CR,'\n',
	MODSWAP,MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctedv04[] {
	LEFT,0,
	OP,' ',RADDR,',',CR,'\n',
	MODSWAP,EXRL,
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctedv05[] {
	RIGHT,S_STACK,
	LEFT,0,
	EXL,
	OP,' ',POP,',',CR,'\n',
	MODSWAP,EXRL,
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctedv06[] {
	RIGHT,S_STACK,
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	EXL,
	OP,' ',POP,',',CR,'\n',
	MODSWAP,EXRL,
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fr_eqdiv[] {
	SU_ADDR|T_UNSN,	SU_ADDR|T_INT,	ctedv01,
	SU_ADDR|T_ANY,	SU_ADDR|T_INT,	ctedv02,
	SU_ADDR|T_UNSN,	SU_EASY|T_ANY,	ctedv03,
	SU_ADDR|T_LONG,	SU_ADDR|T_INT,	ctedv04,
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctedv05,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctedv05,
	SU_ADDR|T_FLOAT,	SU_ANY|T_FLOAT,	ctreo06,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctedv06,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctedv06,
	SU_ANY|T_FLOAT|T_INDR,	SU_ANY|T_FLOAT,	ctreo19,
	0,
};
char ctexo01[] {
	RIGHT,0,
	EXRL,
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	0 };
char ctexo02[] {
	LEFT,S_STACK|S_INDR,
	RIGHT,0,
	EXRL,
	MOVL,' ',POP,',',CAR,'\n',
	OP,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	0 };
struct skeleton fr_eqxor[] {
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctexo01,
	SU_ADDR|T_ANY,	SU_ANY|T_LONG,	ctexo01,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctexo01,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	ctexo01,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctexo02,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_LONG,	ctexo02,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctexo02,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_LONG,	ctexo02,
	0,
};
char ctexo05[] {
	MOV,TRIGHT,' ',RADDR,',',CR,'\n',
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
struct skeleton fe_eqxor[] {
	SU_ADDR|T_ANY,	SU_CONST|T_INT,	ctasg09,
	SU_ADDR|T_LONG,	SU_CONST|T_INT,	ctasg09,
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctasg02,
	SU_ADDR|T_ANY,	SU_ANY|T_LONG,	ctasg02,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctasg02,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	ctasg02,
	SU_ANY|T_ANY|T_INDR,	SU_EASY|T_ANY,	ctasg05,
	SU_ANY|T_ANY|T_INDR,	SU_EASY|T_LONG,	ctasg05,
	SU_ANY|T_LONG|T_INDR,	SU_EASY|T_ANY,	ctasg05,
	SU_ANY|T_LONG|T_INDR,	SU_EASY|T_LONG,	ctasg05,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctasg06,
	SU_ADDR|T_LONG,	SU_CONST|T_INT,	ctasg09,
	SU_ADDR|T_LONG,	SU_ADDR|T_LONG,	ctexo05,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG|T_INDR,	cteop01,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	ctasg02,
	SU_ANY|T_LONG|T_INDR,	SU_CONST|T_INT,	ctasg19,
	SU_EASY|T_LONG|T_INDR,	SU_ANY|T_LONG,	ctasg05,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_LONG,	cteop08,
	0,
};
char ctesh01[] {
	OP,TLEFT,' ',LADDR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	0 };
char ctesh02[] {
	LEFT,S_INDR,
	OP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	0 };
char ctesh03[] {
	LEFT,0,
	OP,TLEFT,' ',RADDR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctesh05[] {
	RIGHT,S_NEXT,
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	OP,TLEFT,' ',NR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctesh06[] {
	LEFT,S_INDR,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	OP,TLEFT,' ',RADDR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
char ctesh07[] {
	LEFT,S_INDR,
	RIGHT,S_NEXT,
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	OP,TLEFT,' ',NR,',',CR,'\n',
	MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fr_eqshft[] {
	SU_ADDR|T_INT,	SU_ONE|T_ANY,	ctesh01,
	SU_ANY|T_INT|T_INDR,	SU_ONE|T_ANY,	ctesh02,
	SU_ADDR|T_ANY,	SU_SMALL|T_INT,	ctesh03,
	SU_ADDR|T_LONG,	SU_SMALL|T_INT,	ctesh03,
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ctesh05,
	SU_ADDR|T_ANY,	SU_ANY|T_LONG,	ctesh05,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctesh05,
	SU_ADDR|T_LONG,	SU_ANY|T_LONG,	ctesh05,
	SU_ANY|T_ANY|T_INDR,	SU_SMALL|T_INT,	ctesh06,
	SU_ANY|T_LONG|T_INDR,	SU_SMALL|T_INT,	ctesh06,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ctesh07,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_LONG,	ctesh07,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctesh07,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_LONG,	ctesh07,
	0,
};
char ctesh08[] {
	OP,TLEFT,' ',LADDR,'\n',
	0 };
char ctesh09[] {
	LEFT,S_INDR,
	OP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
	0 };
char ctesh10[] {
	CLRL,' ',CR,'\n',
	MOV,TRIGHT,' ',RADDR,',',CR,'\n',
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctesh11[] {
	RIGHT,S_INDR,
	CLRL,' ',CR,'\n',
	MOV,TRIGHT,' ',ROFFSET,'(',CAR,')',',',CR,'\n',
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctesh12[] {
	CLRL,' ',CR,'\n',
	RIGHT,0,
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
struct skeleton fe_eqshft[] {
	SU_ADDR|T_INT,	SU_ONE|T_ANY,	ctesh08,
	SU_ANY|T_INT|T_INDR,	SU_ONE|T_ANY,	ctesh09,
	SU_REG|T_ANY,	SU_SMALL|T_INT,	ctasg09,
	SU_REG|T_LONG,	SU_SMALL|T_INT,	ctasg09,
	SU_REG|T_ANY,	SU_ADDR|T_INT,	ctesh10,
	SU_REG|T_LONG,	SU_ADDR|T_INT,	ctesh10,
	SU_REG|T_ANY,	SU_ANY|T_INT|T_INDR,	ctesh11,
	SU_REG|T_LONG,	SU_ANY|T_INT|T_INDR,	ctesh11,
	SU_REG|T_ANY,	SU_ANY|T_ANY,	ctesh12,
	SU_REG|T_LONG,	SU_ANY|T_ANY,	ctesh12,
	0,
};
char ctitl01[] {
	CLRL,' ',CR,'\n',
	0 };
char ctitl02[] {
	CLRL,' ',CR,'\n',
	MOV,' ',LADDR,',',CR,'\n',
	0 };
char ctitl03[] {
	MOVL,' ',LADDR,',',CR,'\n',
	0 };
char ctitl04[] {
	LEFT,0,
	EXL,
	0 };
struct skeleton fr_itl[] {
	SU_ZERO|T_ANY,	SU_ANY|T_ANY,	ctitl01,
	SU_ADDR|T_UNSN,	SU_ANY|T_ANY,	ctitl02,
	SU_CONST|T_INT,	SU_ANY|T_ANY,	ctitl03,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctitl04,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctbop01,
	0,
};
char ctitl05[] {
	CLRL,' ',CR,'\n',
	MOV,' ',LADDR,',',CR,'\n',
	MOVL,' ',CR,',',PSH,'\n',
	0 };
char ctitl06[] {
	LEFT,0,
	EXL,
	MOVL,' ',CR,',',PSH,'\n',
	0 };
char ctitl07[] {
	MOV,' ',LADDR,',',CAR,'\n',
	MOVL,' ',CAR,',',PSH,'\n',
	0 };
char ct296[] {
	LEFT,S_STACK,
	0 };
struct skeleton fs_itl[] {
	SU_ADDR|T_UNSN,	SU_ANY|T_ANY,	ctitl05,
	SU_ANY|T_UNSN,	SU_ANY|T_ANY,	ctitl06,
	SU_ADDR|T_INT,	SU_ANY|T_ANY,	ctitl07,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctitl06,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ct296,
	0,
};
char ctlti01[] {
	LEFT,S_INDR,
	MOV,' ',LOFFSET,'+','2','(',CAR,')',',',CR,'\n',
	0 };
struct skeleton fr_lti[] {
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ctitl03,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ctlti01,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctbop01,
	0,
};
struct skeleton fr_ftol[] {
	SU_ANY|T_FLOAT,	SU_ANY|T_ANY,	ctneg02,
	0,
};
struct skeleton fr_ftoi[] {
	SU_ANY|T_FLOAT,	SU_ANY|T_ANY,	ctneg02,
	0,
};
struct skeleton fr_ltof[] {
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctneg02,
	0,
};
char ct303[] {
	LEFT,0,
	EXL,
	MOVL,' ',CR,',',PSH,'\n',
	JSR,' ',OPCALL,'\n',
	POP4,0 };
struct skeleton fr_itof[] {
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ct303,
	0,
};
char ct304[] {
	LEFT,0,
	EXTW,' ',CR,'\n',
	0 };
struct skeleton fr_tochar[] {
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ct304,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ct304,
	0,
};
char ctrel01[] {
	LEFT,S_FORCC,
	0 };
char ctrel02[] {
	RIGHT,S_INDR,
	OP,TRIGHT,' ',ROFFSET,'(',CAR,')',',',LADDR,'\n',
	0 };
char ctrel03[] {
	RIGHT,0,
	EXRL,
	OP,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ctrel05[] {
	LEFT,0,
	MOV,' ',RADDR,',',CAR,'\n',
	OP,TLEFT,' ',CAR,',',CR,'\n',
	0 };
char ct325[] {
	RIGHT,S_STACK,
	LEFT,S_STACK,
	JSR,' ',OPCALL,'\n',
	'a','d','d','a',' ','#','8',',','s','p','\n',
	0 };
struct skeleton fc_rel[] {
	SU_CONST|T_INT,	SU_ZERO|T_ANY,	ctbop01,
	SU_CONST|T_INT,	SU_CONST|T_INT,	ctbop05,
	SU_AREG|T_LONG,	SU_ZERO|T_ANY,	ctlod03,
	SU_ADDR|T_ANY,	SU_ZERO|T_ANY,	ctasg07,
	SU_ADDR|T_LONG,	SU_ZERO|T_ANY,	ctasg07,
	SU_ANY|T_ANY|T_INDR,	SU_ZERO|T_ANY,	ctasg08,
	SU_ANY|T_LONG|T_INDR,	SU_ZERO|T_ANY,	ctasg08,
	SU_ANY|T_ANY,	SU_ZERO|T_ANY,	ctrel01,
	SU_ANY|T_LONG,	SU_ZERO|T_ANY,	ctrel01,
	SU_ADDR|T_ANY,	SU_CONST|T_INT,	ctasg09,
	SU_ADDR|T_LONG,	SU_CONST|T_INT,	ctasg09,
	SU_ANY|T_LONG|T_INDR,	SU_CONST|T_INT,	ctasg19,
	SU_ANY|T_ANY|T_INDR,	SU_CONST|T_INT,	ctasg19,
	SU_AREG|T_LONG,	SU_ADDR|T_INT,	ctasg22,
	SU_REG|T_CHAR,	SU_ADDR|T_CHAR,	ctasg09,
	SU_REG|T_INT,	SU_ADDR|T_INT,	ctasg09,
	SU_REG|T_LONG,	SU_ADDR|T_LONG,	ctasg09,
	SU_REG|T_INT,	SU_ANY|T_CHAR,	ctasg10,
	SU_REG|T_INT,	SU_ANY|T_INT|T_INDR,	ctrel02,
	SU_REG|T_LONG,	SU_ANY|T_LONG|T_INDR,	ctrel02,
	SU_AREG|T_LONG,	SU_ANY|T_INT|T_INDR,	ctrel02,
	SU_REG|T_INT,	SU_EASY|T_ANY,	ctrel03,
	SU_REG|T_LONG,	SU_EASY|T_LONG,	ctrel03,
	SU_REG|T_LONG,	SU_EASY|T_ANY,	ctrel03,
	SU_ANY|T_INT,	SU_ADDR|T_INT,	ctbop05,
	SU_ANY|T_CHAR,	SU_ADDR|T_CHAR,	ctbop05,
	SU_ANY|T_LONG,	SU_ADDR|T_LONG,	ctbop05,
	SU_ANY|T_LONG,	SU_CONST|T_INT,	ctbop05,
	SU_ANY|T_CHAR,	SU_ADDR|T_INT,	ctbop02,
	SU_ANY|T_LONG,	SU_ADDR|T_INT,	ctrel05,
	SU_ANY|T_ANY,	SU_EASY|T_ANY,	ctbop06,
	SU_ANY|T_ANY,	SU_EASY|T_LONG,	ctbop06,
	SU_ANY|T_LONG,	SU_EASY|T_ANY,	ctbop06,
	SU_ANY|T_LONG,	SU_EASY|T_LONG,	ctbop06,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctbop07,
	SU_ANY|T_ANY,	SU_ANY|T_LONG,	ctbop08,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ctbop08,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctbop09,
	SU_ANY|T_FLOAT,	SU_ANY|T_FLOAT,	ct325,
	0,
};
char ctbtt01[] {
	OP,' ',RADDR,',',LADDR,'\n',
	0 };
char ctbtt02[] {
	LEFT,S_INDR,
	OP,' ',RADDR,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fc_btst[] {
	SU_ADDR|T_ANY,	SU_CONST|T_INT,	ctbtt01,
	SU_ADDR|T_LONG,	SU_CONST|T_INT,	ctbtt01,
	SU_ANY|T_ANY|T_INDR,	SU_CONST|T_INT,	ctbtt02,
	SU_ANY|T_LONG|T_INDR,	SU_CONST|T_INT,	ctbtt02,
	0,
};
char ctfix01[] {
	TREE,0,
	0 };
struct skeleton fc_fix[] {
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ctfix01,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ctfix01,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ctfix01,
	SU_ANY|T_ANY,	SU_ANY|T_LONG,	ctfix01,
	0,
};
char ct329[] {
	OP,TLEFT,' ',LADDR,'\n',
	MOV,TLEFT,' ',LADDR,',',CR,'\n',
	0 };
char ct330[] {
	LEFT,S_STACK,
	JSR,' ',OPCALL,'\n',
	POP4,MOV,TLEFT,' ',CR,',',LADDR,'\n',
	0 };
char ct331[] {
	LEFT,S_INDR,
	OP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
	MOV,TLEFT,' ',LOFFSET,'(',CAR,')',',',CR,'\n',
	0 };
char ct332[] {
	LEFT,S_INDR,
	MOV,TLEFT,' ',CR,',',PSH,'\n',
	JSR,' ',OPCALL,'\n',
	POP4,MOV,TLEFT,' ',CR,',',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fr_eqnot[] {
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ct329,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ct329,
	SU_ADDR|T_FLOAT,	SU_ANY|T_ANY,	ct330,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ct331,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ct331,
	SU_ANY|T_FLOAT|T_INDR,	SU_ANY|T_ANY,	ct332,
	0,
};
char ct333[] {
	OP,TLEFT,' ',LADDR,'\n',
	0 };
char ct334[] {
	LEFT,S_INDR,
	OP,TLEFT,' ',LOFFSET,'(',CAR,')','\n',
	0 };
struct skeleton fe_eqnot[] {
	SU_ADDR|T_ANY,	SU_ANY|T_ANY,	ct333,
	SU_ADDR|T_LONG,	SU_ANY|T_ANY,	ct333,
	SU_ANY|T_ANY|T_INDR,	SU_ANY|T_ANY,	ct334,
	SU_ANY|T_LONG|T_INDR,	SU_ANY|T_ANY,	ct334,
	0,
};
char ct335[] {
	RIGHT,0,
	EXTW,' ',CR,'\n',
	0 };
char ct336[] {
	RIGHT,0,
	0 };
struct skeleton fr_docast[] {
	SU_ANY|T_CHAR,	SU_ANY|T_INT,	ct335,
	SU_ANY|T_CHAR,	SU_ANY|T_LONG,	ct335,
	SU_ANY|T_ANY,	SU_ANY|T_ANY,	ct336,
	SU_ANY|T_ANY,	SU_ANY|T_LONG,	ct336,
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ct336,
	SU_ANY|T_LONG,	SU_ANY|T_LONG,	ct336,
	0,
};
char ct337[] {
	RIGHT,0,
	EXRL,
	MOV,TLEFT,' ',CR,',',PSH,'\n',
	0 };
struct skeleton fs_docast[] {
	SU_ANY|T_LONG,	SU_ANY|T_ANY,	ct337,
	0,
};
