#include "sysconfig.h"
#if defined(JIT)
#include "sysdeps.h"
#include "options.h"
#include "memory.h"
#include "newcpu.h"
#include "custom.h"
#include "comptbl.h"
#include "compemu.h"

#if !defined(PART_1) && !defined(PART_2) && !defined(PART_3) && !defined(PART_4) && !defined(PART_5) && !defined(PART_6) && !defined(PART_7) && !defined(PART_8)
#define PART_1 1
#define PART_2 1
#define PART_3 1
#define PART_4 1
#define PART_5 1
#define PART_6 1
#define PART_7 1
#define PART_8 1
#endif

#ifdef USE_JIT_FPU
extern void comp_fpp_opp();
extern void comp_fscc_opp();
extern void comp_fbcc_opp();
#endif

#ifdef PART_1
/* OR.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_10_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_18_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_20_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_28_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_30_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_38_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_39_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ORSR.B #<data>.W */
uae_u32 REGPARAM2 op_3c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	 make_flags_live();
	 jff_ORSR(ARM_CCR_MAP[src & 0xF], ((src & 0x10) >> 4));
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_40_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_50_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_58_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_60_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_68_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_70_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_78_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_79_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_80_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_90_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_98_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_a0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_a8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_b0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.L Dn,Dn */
uae_u32 REGPARAM2 op_100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 make_flags_live();
	 jff_BTST_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(An) */
uae_u32 REGPARAM2 op_110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(An)+ */
uae_u32 REGPARAM2 op_118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,-(An) */
uae_u32 REGPARAM2 op_120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_138_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_139_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(d16,PC) */
uae_u32 REGPARAM2 op_13a_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_13b_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,#<data>.B */
uae_u32 REGPARAM2 op_13c_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=alloc_scratch();
	mov_l_ri(dst,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	 make_flags_live();
	 jff_BTST_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.L Dn,Dn */
uae_u32 REGPARAM2 op_140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 make_flags_live();
	 jff_BCHG_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(An) */
uae_u32 REGPARAM2 op_150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(An)+ */
uae_u32 REGPARAM2 op_158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,-(An) */
uae_u32 REGPARAM2 op_160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_178_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_179_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.L Dn,Dn */
uae_u32 REGPARAM2 op_180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 make_flags_live();
	 jff_BCLR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(An) */
uae_u32 REGPARAM2 op_190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(An)+ */
uae_u32 REGPARAM2 op_198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,-(An) */
uae_u32 REGPARAM2 op_1a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_1a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_1b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_1b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_1b9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.L Dn,Dn */
uae_u32 REGPARAM2 op_1c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 make_flags_live();
	 jff_BSET_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(An) */
uae_u32 REGPARAM2 op_1d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(An)+ */
uae_u32 REGPARAM2 op_1d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,-(An) */
uae_u32 REGPARAM2 op_1e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_1e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_1f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_1f8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_1f9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_200_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_210_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_218_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_220_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_228_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_230_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_238_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_239_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ANDSR.B #<data>.W */
uae_u32 REGPARAM2 op_23c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	 make_flags_live();
	 jff_ANDSR(ARM_CCR_MAP[src & 0xF], (src & 0x10));
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_240_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_250_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_258_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_260_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_268_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_270_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_278_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_279_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_280_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_290_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_298_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_2a0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_2a8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_2b0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_2b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_2b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_400_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_410_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_418_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_420_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_428_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_430_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_438_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_439_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_440_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_450_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_458_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_460_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_468_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_470_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_478_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_479_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_480_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_490_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_498_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_4a0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_4a8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4b0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_4b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_4b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_600_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_610_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_618_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_620_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_628_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_630_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_638_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_639_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_640_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_650_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_658_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_660_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_668_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_670_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_678_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_679_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_680_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_690_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_698_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_6a0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_6a8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_6b0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_6b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_6b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_800_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 make_flags_live();
	 jff_BTST_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(An) */
uae_u32 REGPARAM2 op_810_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_818_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,-(An) */
uae_u32 REGPARAM2 op_820_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_828_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_830_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_838_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_839_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_83a_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_83b_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BTST_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_840_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 make_flags_live();
	 jff_BCHG_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(An) */
uae_u32 REGPARAM2 op_850_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_858_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,-(An) */
uae_u32 REGPARAM2 op_860_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_868_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_870_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_878_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_879_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCHG_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_880_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 make_flags_live();
	 jff_BCLR_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(An) */
uae_u32 REGPARAM2 op_890_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_898_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,-(An) */
uae_u32 REGPARAM2 op_8a0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_8a8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_8b0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_8b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_8b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BCLR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_8c0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 make_flags_live();
	 jff_BSET_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(An) */
uae_u32 REGPARAM2 op_8d0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_8d8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,-(An) */
uae_u32 REGPARAM2 op_8e0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_8e8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_8f0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_8f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_8f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 make_flags_live();
	 jff_BSET_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_a00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_EOR_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_a10_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_a18_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_a20_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_a28_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_a30_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_a38_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_a39_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b_imm(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EORSR.B #<data>.W */
uae_u32 REGPARAM2 op_a3c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	 make_flags_live();
	 jff_EORSR(ARM_CCR_MAP[src & 0xF], ((src & 0x10) >> 4));
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_a40_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_EOR_w_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_a50_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_a58_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_a60_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_a68_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_a70_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_a78_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_a79_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w_imm(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_a80_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_EOR_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_a90_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_a98_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_aa0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_aa8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_ab0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_ab8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_ab9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l_imm(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_2
/* CMP.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_c00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_c10_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_c18_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_c20_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_c28_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c30_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_c38_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_c39_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(d16,PC) */
uae_u32 REGPARAM2 op_c3a_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_c3b_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_c40_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_c50_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_c58_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_c60_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_c68_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c70_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_c78_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_c79_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_c7a_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_c7b_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_c80_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_c90_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_c98_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_ca0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_ca8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_cb0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_cb8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_cb9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(d16,PC) */
uae_u32 REGPARAM2 op_cba_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_cbb_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,Dn */
uae_u32 REGPARAM2 op_1000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),Dn */
uae_u32 REGPARAM2 op_1010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,Dn */
uae_u32 REGPARAM2 op_1018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),Dn */
uae_u32 REGPARAM2 op_1020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),Dn */
uae_u32 REGPARAM2 op_1028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_1030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_1038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_1039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_103a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_103b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_103c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_b_imm(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(An) */
uae_u32 REGPARAM2 op_1080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(An) */
uae_u32 REGPARAM2 op_1090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(An) */
uae_u32 REGPARAM2 op_1098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(An) */
uae_u32 REGPARAM2 op_10a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(An) */
uae_u32 REGPARAM2 op_10a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(An) */
uae_u32 REGPARAM2 op_10b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(An) */
uae_u32 REGPARAM2 op_10b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(An) */
uae_u32 REGPARAM2 op_10b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(An) */
uae_u32 REGPARAM2 op_10ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(An) */
uae_u32 REGPARAM2 op_10bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_10bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(An)+ */
uae_u32 REGPARAM2 op_10c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(An)+ */
uae_u32 REGPARAM2 op_10d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(An)+ */
uae_u32 REGPARAM2 op_10d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(An)+ */
uae_u32 REGPARAM2 op_10e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(An)+ */
uae_u32 REGPARAM2 op_10e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(An)+ */
uae_u32 REGPARAM2 op_10f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(An)+ */
uae_u32 REGPARAM2 op_10f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(An)+ */
uae_u32 REGPARAM2 op_10f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(An)+ */
uae_u32 REGPARAM2 op_10fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(An)+ */
uae_u32 REGPARAM2 op_10fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_10fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,-(An) */
uae_u32 REGPARAM2 op_1100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),-(An) */
uae_u32 REGPARAM2 op_1110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,-(An) */
uae_u32 REGPARAM2 op_1118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),-(An) */
uae_u32 REGPARAM2 op_1120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),-(An) */
uae_u32 REGPARAM2 op_1128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),-(An) */
uae_u32 REGPARAM2 op_1130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,-(An) */
uae_u32 REGPARAM2 op_1138_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,-(An) */
uae_u32 REGPARAM2 op_1139_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),-(An) */
uae_u32 REGPARAM2 op_113a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),-(An) */
uae_u32 REGPARAM2 op_113b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_113c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_1140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(d16,An) */
uae_u32 REGPARAM2 op_1150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(d16,An) */
uae_u32 REGPARAM2 op_1158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(d16,An) */
uae_u32 REGPARAM2 op_1160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(d16,An) */
uae_u32 REGPARAM2 op_1168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(d16,An) */
uae_u32 REGPARAM2 op_1170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(d16,An) */
uae_u32 REGPARAM2 op_1178_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(d16,An) */
uae_u32 REGPARAM2 op_1179_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(d16,An) */
uae_u32 REGPARAM2 op_117a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(d16,An) */
uae_u32 REGPARAM2 op_117b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_117c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_1180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_1190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(d8,An,Xn) */
uae_u32 REGPARAM2 op_1198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_11b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_11b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_11bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_11c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(xxx).W */
uae_u32 REGPARAM2 op_11d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(xxx).W */
uae_u32 REGPARAM2 op_11d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(xxx).W */
uae_u32 REGPARAM2 op_11e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(xxx).W */
uae_u32 REGPARAM2 op_11e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(xxx).W */
uae_u32 REGPARAM2 op_11f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(xxx).W */
uae_u32 REGPARAM2 op_11f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(xxx).W */
uae_u32 REGPARAM2 op_11f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(xxx).W */
uae_u32 REGPARAM2 op_11fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(xxx).W */
uae_u32 REGPARAM2 op_11fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_11fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_13c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(xxx).L */
uae_u32 REGPARAM2 op_13d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(xxx).L */
uae_u32 REGPARAM2 op_13d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(xxx).L */
uae_u32 REGPARAM2 op_13e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(xxx).L */
uae_u32 REGPARAM2 op_13e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(xxx).L */
uae_u32 REGPARAM2 op_13f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(xxx).L */
uae_u32 REGPARAM2 op_13f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(xxx).L */
uae_u32 REGPARAM2 op_13f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(xxx).L */
uae_u32 REGPARAM2 op_13fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(xxx).L */
uae_u32 REGPARAM2 op_13fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_13fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,Dn */
uae_u32 REGPARAM2 op_2000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,Dn */
uae_u32 REGPARAM2 op_2008_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),Dn */
uae_u32 REGPARAM2 op_2010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,Dn */
uae_u32 REGPARAM2 op_2018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),Dn */
uae_u32 REGPARAM2 op_2020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),Dn */
uae_u32 REGPARAM2 op_2028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_2030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_2038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_2039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_203a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_203b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_203c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l_imm(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L Dn,An */
uae_u32 REGPARAM2 op_2040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L An,An */
uae_u32 REGPARAM2 op_2048_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (An),An */
uae_u32 REGPARAM2 op_2050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (An)+,An */
uae_u32 REGPARAM2 op_2058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L -(An),An */
uae_u32 REGPARAM2 op_2060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (d16,An),An */
uae_u32 REGPARAM2 op_2068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_2070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (xxx).W,An */
uae_u32 REGPARAM2 op_2078_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (xxx).L,An */
uae_u32 REGPARAM2 op_2079_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (d16,PC),An */
uae_u32 REGPARAM2 op_207a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_207b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L #<data>.L,An */
uae_u32 REGPARAM2 op_207c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(An) */
uae_u32 REGPARAM2 op_2080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(An) */
uae_u32 REGPARAM2 op_2088_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(An) */
uae_u32 REGPARAM2 op_2090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(An) */
uae_u32 REGPARAM2 op_2098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(An) */
uae_u32 REGPARAM2 op_20a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(An) */
uae_u32 REGPARAM2 op_20a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(An) */
uae_u32 REGPARAM2 op_20b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(An) */
uae_u32 REGPARAM2 op_20b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(An) */
uae_u32 REGPARAM2 op_20b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(An) */
uae_u32 REGPARAM2 op_20ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(An) */
uae_u32 REGPARAM2 op_20bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_20bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(An)+ */
uae_u32 REGPARAM2 op_20c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(An)+ */
uae_u32 REGPARAM2 op_20c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(srcreg==(uae_s32)dstreg){
		src=alloc_scratch();
		mov_l_rr(src,srcreg+8);
	}
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(An)+ */
uae_u32 REGPARAM2 op_20d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(An)+ */
uae_u32 REGPARAM2 op_20d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(An)+ */
uae_u32 REGPARAM2 op_20e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(An)+ */
uae_u32 REGPARAM2 op_20e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(An)+ */
uae_u32 REGPARAM2 op_20f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(An)+ */
uae_u32 REGPARAM2 op_20f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(An)+ */
uae_u32 REGPARAM2 op_20f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(An)+ */
uae_u32 REGPARAM2 op_20fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(An)+ */
uae_u32 REGPARAM2 op_20fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_20fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,-(An) */
uae_u32 REGPARAM2 op_2100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,-(An) */
uae_u32 REGPARAM2 op_2108_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(srcreg==(uae_s32)dstreg){
		src=alloc_scratch();
		mov_l_rr(src,srcreg+8);
	}
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),-(An) */
uae_u32 REGPARAM2 op_2110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,-(An) */
uae_u32 REGPARAM2 op_2118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),-(An) */
uae_u32 REGPARAM2 op_2120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),-(An) */
uae_u32 REGPARAM2 op_2128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),-(An) */
uae_u32 REGPARAM2 op_2130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,-(An) */
uae_u32 REGPARAM2 op_2138_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,-(An) */
uae_u32 REGPARAM2 op_2139_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),-(An) */
uae_u32 REGPARAM2 op_213a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),-(An) */
uae_u32 REGPARAM2 op_213b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_213c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_2140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(d16,An) */
uae_u32 REGPARAM2 op_2148_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(d16,An) */
uae_u32 REGPARAM2 op_2150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(d16,An) */
uae_u32 REGPARAM2 op_2158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(d16,An) */
uae_u32 REGPARAM2 op_2160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(d16,An) */
uae_u32 REGPARAM2 op_2168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(d16,An) */
uae_u32 REGPARAM2 op_2170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(d16,An) */
uae_u32 REGPARAM2 op_2178_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(d16,An) */
uae_u32 REGPARAM2 op_2179_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(d16,An) */
uae_u32 REGPARAM2 op_217a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(d16,An) */
uae_u32 REGPARAM2 op_217b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_217c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_2180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(d8,An,Xn) */
uae_u32 REGPARAM2 op_2188_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_2190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_3
/* MOVE.L (An)+,(d8,An,Xn) */
uae_u32 REGPARAM2 op_2198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_21b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_21b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_21bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_21c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(xxx).W */
uae_u32 REGPARAM2 op_21c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(xxx).W */
uae_u32 REGPARAM2 op_21d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(xxx).W */
uae_u32 REGPARAM2 op_21d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(xxx).W */
uae_u32 REGPARAM2 op_21e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(xxx).W */
uae_u32 REGPARAM2 op_21e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(xxx).W */
uae_u32 REGPARAM2 op_21f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(xxx).W */
uae_u32 REGPARAM2 op_21f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(xxx).W */
uae_u32 REGPARAM2 op_21f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(xxx).W */
uae_u32 REGPARAM2 op_21fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(xxx).W */
uae_u32 REGPARAM2 op_21fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_21fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_23c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(xxx).L */
uae_u32 REGPARAM2 op_23c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(xxx).L */
uae_u32 REGPARAM2 op_23d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(xxx).L */
uae_u32 REGPARAM2 op_23d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(xxx).L */
uae_u32 REGPARAM2 op_23e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(xxx).L */
uae_u32 REGPARAM2 op_23e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(xxx).L */
uae_u32 REGPARAM2 op_23f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(xxx).L */
uae_u32 REGPARAM2 op_23f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(xxx).L */
uae_u32 REGPARAM2 op_23f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(xxx).L */
uae_u32 REGPARAM2 op_23fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(xxx).L */
uae_u32 REGPARAM2 op_23fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_23fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,Dn */
uae_u32 REGPARAM2 op_3000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,Dn */
uae_u32 REGPARAM2 op_3008_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),Dn */
uae_u32 REGPARAM2 op_3010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,Dn */
uae_u32 REGPARAM2 op_3018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),Dn */
uae_u32 REGPARAM2 op_3020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),Dn */
uae_u32 REGPARAM2 op_3028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_3030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_3038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_3039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_303a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_303b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_303c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_w_imm(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W Dn,An */
uae_u32 REGPARAM2 op_3040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W An,An */
uae_u32 REGPARAM2 op_3048_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (An),An */
uae_u32 REGPARAM2 op_3050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (An)+,An */
uae_u32 REGPARAM2 op_3058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W -(An),An */
uae_u32 REGPARAM2 op_3060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (d16,An),An */
uae_u32 REGPARAM2 op_3068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (d8,An,Xn),An */
uae_u32 REGPARAM2 op_3070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (xxx).W,An */
uae_u32 REGPARAM2 op_3078_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (xxx).L,An */
uae_u32 REGPARAM2 op_3079_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (d16,PC),An */
uae_u32 REGPARAM2 op_307a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_307b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W #<data>.W,An */
uae_u32 REGPARAM2 op_307c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(An) */
uae_u32 REGPARAM2 op_3080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(An) */
uae_u32 REGPARAM2 op_3088_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(An) */
uae_u32 REGPARAM2 op_3090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(An) */
uae_u32 REGPARAM2 op_3098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(An) */
uae_u32 REGPARAM2 op_30a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(An) */
uae_u32 REGPARAM2 op_30a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(An) */
uae_u32 REGPARAM2 op_30b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(An) */
uae_u32 REGPARAM2 op_30b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(An) */
uae_u32 REGPARAM2 op_30b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(An) */
uae_u32 REGPARAM2 op_30ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(An) */
uae_u32 REGPARAM2 op_30bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_30bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(An)+ */
uae_u32 REGPARAM2 op_30c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(An)+ */
uae_u32 REGPARAM2 op_30c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(srcreg==(uae_s32)dstreg){
		src=alloc_scratch();
		mov_l_rr(src,srcreg+8);
	}
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(An)+ */
uae_u32 REGPARAM2 op_30d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(An)+ */
uae_u32 REGPARAM2 op_30d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(An)+ */
uae_u32 REGPARAM2 op_30e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(An)+ */
uae_u32 REGPARAM2 op_30e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(An)+ */
uae_u32 REGPARAM2 op_30f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(An)+ */
uae_u32 REGPARAM2 op_30f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(An)+ */
uae_u32 REGPARAM2 op_30f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(An)+ */
uae_u32 REGPARAM2 op_30fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(An)+ */
uae_u32 REGPARAM2 op_30fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_30fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,-(An) */
uae_u32 REGPARAM2 op_3100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,-(An) */
uae_u32 REGPARAM2 op_3108_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(srcreg==(uae_s32)dstreg){
		src=alloc_scratch();
		mov_l_rr(src,srcreg+8);
	}
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),-(An) */
uae_u32 REGPARAM2 op_3110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,-(An) */
uae_u32 REGPARAM2 op_3118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),-(An) */
uae_u32 REGPARAM2 op_3120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),-(An) */
uae_u32 REGPARAM2 op_3128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),-(An) */
uae_u32 REGPARAM2 op_3130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,-(An) */
uae_u32 REGPARAM2 op_3138_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,-(An) */
uae_u32 REGPARAM2 op_3139_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),-(An) */
uae_u32 REGPARAM2 op_313a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),-(An) */
uae_u32 REGPARAM2 op_313b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_313c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_3140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(d16,An) */
uae_u32 REGPARAM2 op_3148_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(d16,An) */
uae_u32 REGPARAM2 op_3150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(d16,An) */
uae_u32 REGPARAM2 op_3158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(d16,An) */
uae_u32 REGPARAM2 op_3160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(d16,An) */
uae_u32 REGPARAM2 op_3168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(d16,An) */
uae_u32 REGPARAM2 op_3170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(d16,An) */
uae_u32 REGPARAM2 op_3178_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(d16,An) */
uae_u32 REGPARAM2 op_3179_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(d16,An) */
uae_u32 REGPARAM2 op_317a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(d16,An) */
uae_u32 REGPARAM2 op_317b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_317c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_3180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(d8,An,Xn) */
uae_u32 REGPARAM2 op_3188_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_3190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(d8,An,Xn) */
uae_u32 REGPARAM2 op_3198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_31b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_31b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_31bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_31c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(xxx).W */
uae_u32 REGPARAM2 op_31c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(xxx).W */
uae_u32 REGPARAM2 op_31d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(xxx).W */
uae_u32 REGPARAM2 op_31d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(xxx).W */
uae_u32 REGPARAM2 op_31e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(xxx).W */
uae_u32 REGPARAM2 op_31e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(xxx).W */
uae_u32 REGPARAM2 op_31f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(xxx).W */
uae_u32 REGPARAM2 op_31f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(xxx).W */
uae_u32 REGPARAM2 op_31f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(xxx).W */
uae_u32 REGPARAM2 op_31fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(xxx).W */
uae_u32 REGPARAM2 op_31fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_31fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_33c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(xxx).L */
uae_u32 REGPARAM2 op_33c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(xxx).L */
uae_u32 REGPARAM2 op_33d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(xxx).L */
uae_u32 REGPARAM2 op_33d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(xxx).L */
uae_u32 REGPARAM2 op_33e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(xxx).L */
uae_u32 REGPARAM2 op_33e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(xxx).L */
uae_u32 REGPARAM2 op_33f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(xxx).L */
uae_u32 REGPARAM2 op_33f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(xxx).L */
uae_u32 REGPARAM2 op_33f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(xxx).L */
uae_u32 REGPARAM2 op_33fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(xxx).L */
uae_u32 REGPARAM2 op_33fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_33fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B Dn */
uae_u32 REGPARAM2 op_4000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 make_flags_live();
	 jff_NEGX_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (An) */
uae_u32 REGPARAM2 op_4010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 make_flags_live();
	 jff_NEGX_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (An)+ */
uae_u32 REGPARAM2 op_4018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 make_flags_live();
	 jff_NEGX_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B -(An) */
uae_u32 REGPARAM2 op_4020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	 make_flags_live();
	 jff_NEGX_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (d16,An) */
uae_u32 REGPARAM2 op_4028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 make_flags_live();
	 jff_NEGX_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	 make_flags_live();
	 jff_NEGX_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (xxx).W */
uae_u32 REGPARAM2 op_4038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 make_flags_live();
	 jff_NEGX_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (xxx).L */
uae_u32 REGPARAM2 op_4039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	 make_flags_live();
	 jff_NEGX_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W Dn */
uae_u32 REGPARAM2 op_4040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 make_flags_live();
	 jff_NEGX_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (An) */
uae_u32 REGPARAM2 op_4050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 make_flags_live();
	 jff_NEGX_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (An)+ */
uae_u32 REGPARAM2 op_4058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 make_flags_live();
	 jff_NEGX_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W -(An) */
uae_u32 REGPARAM2 op_4060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 make_flags_live();
	 jff_NEGX_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (d16,An) */
uae_u32 REGPARAM2 op_4068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 make_flags_live();
	 jff_NEGX_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 make_flags_live();
	 jff_NEGX_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (xxx).W */
uae_u32 REGPARAM2 op_4078_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 make_flags_live();
	 jff_NEGX_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (xxx).L */
uae_u32 REGPARAM2 op_4079_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 make_flags_live();
	 jff_NEGX_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L Dn */
uae_u32 REGPARAM2 op_4080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 make_flags_live();
	 jff_NEGX_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (An) */
uae_u32 REGPARAM2 op_4090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 make_flags_live();
	 jff_NEGX_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (An)+ */
uae_u32 REGPARAM2 op_4098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 make_flags_live();
	 jff_NEGX_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L -(An) */
uae_u32 REGPARAM2 op_40a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	 make_flags_live();
	 jff_NEGX_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (d16,An) */
uae_u32 REGPARAM2 op_40a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 make_flags_live();
	 jff_NEGX_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_40b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	 make_flags_live();
	 jff_NEGX_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (xxx).W */
uae_u32 REGPARAM2 op_40b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 make_flags_live();
	 jff_NEGX_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (xxx).L */
uae_u32 REGPARAM2 op_40b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	 make_flags_live();
	 jff_NEGX_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (An),An */
uae_u32 REGPARAM2 op_41d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (d16,An),An */
uae_u32 REGPARAM2 op_41e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_41f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (xxx).W,An */
uae_u32 REGPARAM2 op_41f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (xxx).L,An */
uae_u32 REGPARAM2 op_41f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (d16,PC),An */
uae_u32 REGPARAM2 op_41fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_41fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B Dn */
uae_u32 REGPARAM2 op_4200_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_CLR_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (An) */
uae_u32 REGPARAM2 op_4210_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (An)+ */
uae_u32 REGPARAM2 op_4218_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_b(src);
	 live_flags();
	writebyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B -(An) */
uae_u32 REGPARAM2 op_4220_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (d16,An) */
uae_u32 REGPARAM2 op_4228_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4230_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (xxx).W */
uae_u32 REGPARAM2 op_4238_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (xxx).L */
uae_u32 REGPARAM2 op_4239_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W Dn */
uae_u32 REGPARAM2 op_4240_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_CLR_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (An) */
uae_u32 REGPARAM2 op_4250_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (An)+ */
uae_u32 REGPARAM2 op_4258_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_w(src);
	 live_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W -(An) */
uae_u32 REGPARAM2 op_4260_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (d16,An) */
uae_u32 REGPARAM2 op_4268_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4270_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (xxx).W */
uae_u32 REGPARAM2 op_4278_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (xxx).L */
uae_u32 REGPARAM2 op_4279_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L Dn */
uae_u32 REGPARAM2 op_4280_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_CLR_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (An) */
uae_u32 REGPARAM2 op_4290_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (An)+ */
uae_u32 REGPARAM2 op_4298_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_l(src);
	 live_flags();
	writelong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L -(An) */
uae_u32 REGPARAM2 op_42a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (d16,An) */
uae_u32 REGPARAM2 op_42a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_42b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (xxx).W */
uae_u32 REGPARAM2 op_42b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (xxx).L */
uae_u32 REGPARAM2 op_42b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 int src=alloc_scratch();
	 dont_care_flags();
	 jff_CLR_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_4
/* NEG.B Dn */
uae_u32 REGPARAM2 op_4400_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jff_NEG_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (An) */
uae_u32 REGPARAM2 op_4410_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 jff_NEG_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (An)+ */
uae_u32 REGPARAM2 op_4418_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 jff_NEG_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B -(An) */
uae_u32 REGPARAM2 op_4420_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	 jff_NEG_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (d16,An) */
uae_u32 REGPARAM2 op_4428_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 jff_NEG_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4430_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	 jff_NEG_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (xxx).W */
uae_u32 REGPARAM2 op_4438_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 jff_NEG_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (xxx).L */
uae_u32 REGPARAM2 op_4439_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	 jff_NEG_b(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W Dn */
uae_u32 REGPARAM2 op_4440_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jff_NEG_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (An) */
uae_u32 REGPARAM2 op_4450_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_NEG_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (An)+ */
uae_u32 REGPARAM2 op_4458_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_NEG_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W -(An) */
uae_u32 REGPARAM2 op_4460_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_NEG_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (d16,An) */
uae_u32 REGPARAM2 op_4468_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_NEG_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4470_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_NEG_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (xxx).W */
uae_u32 REGPARAM2 op_4478_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_NEG_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (xxx).L */
uae_u32 REGPARAM2 op_4479_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jff_NEG_w(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L Dn */
uae_u32 REGPARAM2 op_4480_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jff_NEG_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (An) */
uae_u32 REGPARAM2 op_4490_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 jff_NEG_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (An)+ */
uae_u32 REGPARAM2 op_4498_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 jff_NEG_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L -(An) */
uae_u32 REGPARAM2 op_44a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	 jff_NEG_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (d16,An) */
uae_u32 REGPARAM2 op_44a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 jff_NEG_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_44b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	 jff_NEG_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (xxx).W */
uae_u32 REGPARAM2 op_44b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 jff_NEG_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (xxx).L */
uae_u32 REGPARAM2 op_44b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	 jff_NEG_l(src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B Dn */
uae_u32 REGPARAM2 op_4600_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_NOT_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (An) */
uae_u32 REGPARAM2 op_4610_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_NOT_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (An)+ */
uae_u32 REGPARAM2 op_4618_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_NOT_b(src);
	 live_flags();
	writebyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B -(An) */
uae_u32 REGPARAM2 op_4620_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_NOT_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (d16,An) */
uae_u32 REGPARAM2 op_4628_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_NOT_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4630_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_NOT_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (xxx).W */
uae_u32 REGPARAM2 op_4638_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_NOT_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (xxx).L */
uae_u32 REGPARAM2 op_4639_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_NOT_b(src);
	 live_flags();
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W Dn */
uae_u32 REGPARAM2 op_4640_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_NOT_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (An) */
uae_u32 REGPARAM2 op_4650_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_NOT_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (An)+ */
uae_u32 REGPARAM2 op_4658_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_NOT_w(src);
	 live_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W -(An) */
uae_u32 REGPARAM2 op_4660_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_NOT_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (d16,An) */
uae_u32 REGPARAM2 op_4668_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_NOT_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4670_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_NOT_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (xxx).W */
uae_u32 REGPARAM2 op_4678_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_NOT_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (xxx).L */
uae_u32 REGPARAM2 op_4679_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_NOT_w(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L Dn */
uae_u32 REGPARAM2 op_4680_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_NOT_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (An) */
uae_u32 REGPARAM2 op_4690_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_NOT_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (An)+ */
uae_u32 REGPARAM2 op_4698_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_NOT_l(src);
	 live_flags();
	writelong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L -(An) */
uae_u32 REGPARAM2 op_46a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_NOT_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (d16,An) */
uae_u32 REGPARAM2 op_46a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_NOT_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_46b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_NOT_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (xxx).W */
uae_u32 REGPARAM2 op_46b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_NOT_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (xxx).L */
uae_u32 REGPARAM2 op_46b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_NOT_l(src);
	 live_flags();
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LINK.L An,#<data>.L */
uae_u32 REGPARAM2 op_4808_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	if (srcreg==7) dodgy=1;
	int src=dodgy?alloc_scratch():srcreg+8;
	if (dodgy) 
		mov_l_rr(src,srcreg+8);
	uae_s32 offs=comp_get_ilong((m68k_pc_offset+=4)-4); /* absl */
	sub_l_ri(15,4);
	writelong_clobber(15,src);
	if(!dodgy)
		mov_l_rr(src,15);
	arm_ADD_l_ri(15,offs);
	if(srcreg+8!=src)
		mov_l_rr(srcreg+8,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SWAP.W Dn */
uae_u32 REGPARAM2 op_4840_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_SWAP(src);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (An) */
uae_u32 REGPARAM2 op_4850_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
if (srcreg==7) dodgy=1;
	int srca=dodgy?alloc_scratch():srcreg+8;
	if (dodgy) 
		mov_l_rr(srca,srcreg+8);
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (d16,An) */
uae_u32 REGPARAM2 op_4868_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
if (srcreg==7) dodgy=1;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_4870_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
if (srcreg==7) dodgy=1;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (xxx).W */
uae_u32 REGPARAM2 op_4878_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (xxx).L */
uae_u32 REGPARAM2 op_4879_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (d16,PC) */
uae_u32 REGPARAM2 op_487a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (d8,PC,Xn) */
uae_u32 REGPARAM2 op_487b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
{	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXT.W Dn */
uae_u32 REGPARAM2 op_4880_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_EXT_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_4890_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_48a0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			offset-=2;
			jnf_MVMLE_w(native,15-i,offset);
		}
	}
			lea_l_brr(8+dstreg,srca,(uae_s32)offset);
	} else {
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			arm_SUB_l_ri8(srca,2);
			writeword(srca,15-i);
		}
	}			mov_l_rr(8+dstreg,srca);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_48a8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_48b0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_48b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_48b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXT.L Dn */
uae_u32 REGPARAM2 op_48c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_EXT_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_48d0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_48e0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			offset-=4;
			jnf_MVMLE_l(native,15-i,offset);
		}
	}
			lea_l_brr(8+dstreg,srca,(uae_s32)offset);
	} else {
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			arm_SUB_l_ri8(srca,4);
			writelong(srca,15-i);
		}
	}			mov_l_rr(8+dstreg,srca);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_48e8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_48f0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_48f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_48f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXT.B Dn */
uae_u32 REGPARAM2 op_49c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_EXT_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B Dn */
uae_u32 REGPARAM2 op_4a00_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (An) */
uae_u32 REGPARAM2 op_4a10_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (An)+ */
uae_u32 REGPARAM2 op_4a18_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B -(An) */
uae_u32 REGPARAM2 op_4a20_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (d16,An) */
uae_u32 REGPARAM2 op_4a28_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4a30_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (xxx).W */
uae_u32 REGPARAM2 op_4a38_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (xxx).L */
uae_u32 REGPARAM2 op_4a39_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (d16,PC) */
uae_u32 REGPARAM2 op_4a3a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4a3b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B #<data>.B */
uae_u32 REGPARAM2 op_4a3c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_b(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W Dn */
uae_u32 REGPARAM2 op_4a40_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W An */
uae_u32 REGPARAM2 op_4a48_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (An) */
uae_u32 REGPARAM2 op_4a50_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (An)+ */
uae_u32 REGPARAM2 op_4a58_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W -(An) */
uae_u32 REGPARAM2 op_4a60_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (d16,An) */
uae_u32 REGPARAM2 op_4a68_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4a70_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (xxx).W */
uae_u32 REGPARAM2 op_4a78_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (xxx).L */
uae_u32 REGPARAM2 op_4a79_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (d16,PC) */
uae_u32 REGPARAM2 op_4a7a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4a7b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W #<data>.W */
uae_u32 REGPARAM2 op_4a7c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 jff_TST_w(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L Dn */
uae_u32 REGPARAM2 op_4a80_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L An */
uae_u32 REGPARAM2 op_4a88_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (An) */
uae_u32 REGPARAM2 op_4a90_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (An)+ */
uae_u32 REGPARAM2 op_4a98_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L -(An) */
uae_u32 REGPARAM2 op_4aa0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (d16,An) */
uae_u32 REGPARAM2 op_4aa8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_4ab0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (xxx).W */
uae_u32 REGPARAM2 op_4ab8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (xxx).L */
uae_u32 REGPARAM2 op_4ab9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (d16,PC) */
uae_u32 REGPARAM2 op_4aba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4abb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L #<data>.L */
uae_u32 REGPARAM2 op_4abc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	 dont_care_flags();
	 jff_TST_l(src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_4c00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dst=dstreg;
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_4c10_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_4c18_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_4c20_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_4c28_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4c30_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_4c38_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_4c39_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_4c3a_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_4c3b_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,#<data>.L */
uae_u32 REGPARAM2 op_4c3c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dst=alloc_scratch();
	mov_l_ri(dst,comp_get_ilong((m68k_pc_offset+=4)-4));
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jff_MULS64(r2,r3);
		} else { 
			  jff_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jff_MULS32(r2,dst);
		} else { 
			  jff_MULU32(r2,dst);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DIVL.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_4c40_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dst=dstreg;
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_4c50_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_4c58_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_4c60_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_4c68_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4c70_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_4c78_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_4c79_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_4c7a_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_4c7b_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,#<data>.L */
uae_u32 REGPARAM2 op_4c7c_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dst=alloc_scratch();
	mov_l_ri(dst,comp_get_ilong((m68k_pc_offset+=4)-4));
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
		} else { 
	   if (extra & 0x0800) { 
	     jff_DIVLS32(r2,dst,r3);
		} else { 
			  jff_DIVLU32(r2,dst,r3);
		} 
	 }
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* MVMEL.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_4c90_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_4c98_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			if(srca != i)
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}			jnf_ADD_im8(8+dstreg,srca,offset);
	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
		mov_l_rr(8+dstreg,tmp);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_4ca8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4cb0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_4cb8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_4cb9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_4cba_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_4cbb_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_4cd0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_4cd8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			if(srca != i)
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}			jnf_ADD_im8(8+dstreg,srca,offset);
	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
		mov_l_rr(8+dstreg,tmp);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_4ce8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4cf0_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_4cf8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_4cf9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_4cfa_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_4cfb_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LINK.W An,#<data>.W */
uae_u32 REGPARAM2 op_4e50_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	if (srcreg==7) dodgy=1;
	int src=dodgy?alloc_scratch():srcreg+8;
	if (dodgy) 
		mov_l_rr(src,srcreg+8);
	uae_s32 offs=(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	sub_l_ri(15,4);
	writelong_clobber(15,src);
	if(!dodgy)
		mov_l_rr(src,15);
	arm_ADD_l_ri(15,offs);
	if(srcreg+8!=src)
		mov_l_rr(srcreg+8,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* UNLK.L An */
uae_u32 REGPARAM2 op_4e58_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(src==15){
		readlong(15,src);
	} else {
		mov_l_rr(15,src);
		readlong(15,src);
		arm_ADD_l_ri8(15,4);
	}
	if(srcreg+8!=src)
		mov_l_rr(srcreg+8,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOP.L  */
uae_u32 REGPARAM2 op_4e71_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RTD.L #<data>.W */
uae_u32 REGPARAM2 op_4e74_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 offs=(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	offs+=4;
{	int newad=alloc_scratch();
	readlong(15,newad);
	mov_l_mr((uintptr)&regs.pc,newad);
	get_n_addr_jmp(newad,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	arm_ADD_l_ri(15,offs);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RTS.L  */
uae_u32 REGPARAM2 op_4e75_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int newad=alloc_scratch();
	readlong(15,newad);
	mov_l_mr((uintptr)&regs.pc,newad);
	get_n_addr_jmp(newad,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	arm_ADD_l_ri8(15,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (An) */
uae_u32 REGPARAM2 op_4e90_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (d16,An) */
uae_u32 REGPARAM2 op_4ea8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_4eb0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (xxx).W */
uae_u32 REGPARAM2 op_4eb8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (xxx).L */
uae_u32 REGPARAM2 op_4eb9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (d16,PC) */
uae_u32 REGPARAM2 op_4eba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4ebb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (An) */
uae_u32 REGPARAM2 op_4ed0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (d16,An) */
uae_u32 REGPARAM2 op_4ee8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_4ef0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (xxx).W */
uae_u32 REGPARAM2 op_4ef8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (xxx).L */
uae_u32 REGPARAM2 op_4ef9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (d16,PC) */
uae_u32 REGPARAM2 op_4efa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4efb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_5000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(An) */
uae_u32 REGPARAM2 op_5010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(An)+ */
uae_u32 REGPARAM2 op_5018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,-(An) */
uae_u32 REGPARAM2 op_5020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(d16,An) */
uae_u32 REGPARAM2 op_5028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_5030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(xxx).W */
uae_u32 REGPARAM2 op_5038_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(xxx).L */
uae_u32 REGPARAM2 op_5039_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_5040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDAQ.W #<data>,An */
uae_u32 REGPARAM2 op_5048_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg+8;
	 jnf_ADDA_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(An) */
uae_u32 REGPARAM2 op_5050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(An)+ */
uae_u32 REGPARAM2 op_5058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,-(An) */
uae_u32 REGPARAM2 op_5060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(d16,An) */
uae_u32 REGPARAM2 op_5068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_5070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(xxx).W */
uae_u32 REGPARAM2 op_5078_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(xxx).L */
uae_u32 REGPARAM2 op_5079_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_5080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDAQ.L #<data>,An */
uae_u32 REGPARAM2 op_5088_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg+8;
	 jnf_ADDA_l_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(An) */
uae_u32 REGPARAM2 op_5090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_5
/* ADDQ.L #<data>,(An)+ */
uae_u32 REGPARAM2 op_5098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,-(An) */
uae_u32 REGPARAM2 op_50a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(d16,An) */
uae_u32 REGPARAM2 op_50a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_50b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(xxx).W */
uae_u32 REGPARAM2 op_50b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(xxx).L */
uae_u32 REGPARAM2 op_50b9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_50c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	mov_b_ri(srcreg, 0xff);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_50c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_50d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_50d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_50e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_50e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_50f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_50f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_50f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_5100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(An) */
uae_u32 REGPARAM2 op_5110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(An)+ */
uae_u32 REGPARAM2 op_5118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,-(An) */
uae_u32 REGPARAM2 op_5120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(d16,An) */
uae_u32 REGPARAM2 op_5128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_5130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(xxx).W */
uae_u32 REGPARAM2 op_5138_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(xxx).L */
uae_u32 REGPARAM2 op_5139_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_5140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBAQ.W #<data>,An */
uae_u32 REGPARAM2 op_5148_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg+8;
	 jnf_SUBA_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(An) */
uae_u32 REGPARAM2 op_5150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(An)+ */
uae_u32 REGPARAM2 op_5158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,-(An) */
uae_u32 REGPARAM2 op_5160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(d16,An) */
uae_u32 REGPARAM2 op_5168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_5170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(xxx).W */
uae_u32 REGPARAM2 op_5178_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(xxx).L */
uae_u32 REGPARAM2 op_5179_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_5180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBAQ.L #<data>,An */
uae_u32 REGPARAM2 op_5188_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg+8;
	 jnf_SUBA_l_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(An) */
uae_u32 REGPARAM2 op_5190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(An)+ */
uae_u32 REGPARAM2 op_5198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,-(An) */
uae_u32 REGPARAM2 op_51a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(d16,An) */
uae_u32 REGPARAM2 op_51a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_51b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(xxx).W */
uae_u32 REGPARAM2 op_51b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(xxx).L */
uae_u32 REGPARAM2 op_51b9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_51c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	mov_b_ri(srcreg, 0);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_51c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	sub_w_ri(src, 1);
	uae_u32 v2;
	uae_u32 v1=get_const(PC_P);
	v2=get_const(offs);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_51d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_51d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_51e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_51e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_51f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_51f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_51f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_52c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 8);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_52c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 8);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_52d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_52d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_52e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_52e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_52f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_52f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_52f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_53c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 9);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_53c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 9);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_53d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_53d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_53e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_53e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_53f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_53f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_53f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_54c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 3);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_54c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 3);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_54d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_54d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_54e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_54e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_54f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_54f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_54f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_55c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_55c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 2);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_55d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_55d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_55e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_55e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_55f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_55f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_55f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_56c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 1);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_56c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 1);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_56d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_56d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_56e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_56e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_56f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_56f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_56f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_57c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 0);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_57c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 0);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_57d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_57d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_57e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_57e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_57f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_57f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_57f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_58c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 7);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_58c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 7);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_58d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_58d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_58e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_58e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_58f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_58f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_58f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_59c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 6);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_59c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 6);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_59d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_59d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_59e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_59e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_59f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_59f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_59f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5ac0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 5);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5ac8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 5);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5ad0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5ad8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5ae0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5ae8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5af0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5af8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5af9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5bc0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5bc8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 4);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5bd0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5bd8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5be0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5be8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5bf0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5bf8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5bf9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5cc0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 10);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5cc8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 10);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5cd0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5cd8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5ce0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5ce8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5cf0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5cf8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5cf9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5dc0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 11);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5dc8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 11);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5dd0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5dd8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5de0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5de8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5df0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5df8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5df9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5ec0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 12);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5ec8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 12);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5ed0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5ed8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5ee0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5ee8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5ef0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5ef8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5ef9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5fc0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 13);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5fc8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 13);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5fd0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5fd8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5fe0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5fe8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5ff0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5ff8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5ff9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6000_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	mov_l_rr(PC_P, src);
	comp_pc_p = (uae_u8*)(uintptr)get_const(PC_P);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6001_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	mov_l_rr(PC_P, src);
	comp_pc_p = (uae_u8*)(uintptr)get_const(PC_P);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_60ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	mov_l_rr(PC_P, src);
	comp_pc_p = (uae_u8*)(uintptr)get_const(PC_P);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSR.W #<data>.W */
uae_u32 REGPARAM2 op_6100_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	arm_ADD_l_ri(src,m68k_pc_offset_thisinst+2);
	m68k_pc_offset=0;
	arm_ADD_l(PC_P,src);
	comp_pc_p=(uae_u8*)(uintptr)get_const(PC_P);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSRQ.B #<data> */
uae_u32 REGPARAM2 op_6101_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	arm_ADD_l_ri(src,m68k_pc_offset_thisinst+2);
	m68k_pc_offset=0;
	arm_ADD_l(PC_P,src);
	comp_pc_p=(uae_u8*)(uintptr)get_const(PC_P);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSR.L #<data>.L */
uae_u32 REGPARAM2 op_61ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	arm_ADD_l_ri(src,m68k_pc_offset_thisinst+2);
	m68k_pc_offset=0;
	arm_ADD_l(PC_P,src);
	comp_pc_p=(uae_u8*)(uintptr)get_const(PC_P);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6200_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 8);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6201_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 8);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_62ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 8);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_6
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6300_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 9);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6301_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 9);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_63ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 9);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6400_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 3);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6401_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 3);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_64ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 3);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6500_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 2);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6501_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 2);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_65ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 2);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6600_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 1);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6601_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 1);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_66ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 1);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6700_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 0);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6701_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 0);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_67ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 0);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6800_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 7);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6801_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 7);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_68ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 7);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6900_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 6);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6901_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 6);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_69ff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 6);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6a00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 5);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6a01_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 5);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6aff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 5);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6b00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 4);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6b01_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 4);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6bff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 4);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6c00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 10);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6c01_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 10);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6cff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 10);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6d00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 11);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6d01_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 11);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6dff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 11);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6e00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 12);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6e01_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 12);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6eff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 12);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6f00_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 13);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6f01_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 13);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6fff_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 13);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_7000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_MOVE_l_imm(dst, src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,Dn */
uae_u32 REGPARAM2 op_8000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (An),Dn */
uae_u32 REGPARAM2 op_8010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (An)+,Dn */
uae_u32 REGPARAM2 op_8018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B -(An),Dn */
uae_u32 REGPARAM2 op_8020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (d16,An),Dn */
uae_u32 REGPARAM2 op_8028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_8030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_8038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_8039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_803a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_803b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_803c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,Dn */
uae_u32 REGPARAM2 op_8040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (An),Dn */
uae_u32 REGPARAM2 op_8050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (An)+,Dn */
uae_u32 REGPARAM2 op_8058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W -(An),Dn */
uae_u32 REGPARAM2 op_8060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (d16,An),Dn */
uae_u32 REGPARAM2 op_8068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_8070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_8078_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_8079_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_807a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_807b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_807c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_w_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,Dn */
uae_u32 REGPARAM2 op_8080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (An),Dn */
uae_u32 REGPARAM2 op_8090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (An)+,Dn */
uae_u32 REGPARAM2 op_8098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L -(An),Dn */
uae_u32 REGPARAM2 op_80a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (d16,An),Dn */
uae_u32 REGPARAM2 op_80a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_80b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_80b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_80b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_80ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_80bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_80bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_OR_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DIVU.W Dn,Dn */
uae_u32 REGPARAM2 op_80c0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=srcreg;
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (An),Dn */
uae_u32 REGPARAM2 op_80d0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (An)+,Dn */
uae_u32 REGPARAM2 op_80d8_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W -(An),Dn */
uae_u32 REGPARAM2 op_80e0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (d16,An),Dn */
uae_u32 REGPARAM2 op_80e8_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_80f0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_80f8_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_80f9_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_80fa_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_80fb_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_80fc_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg;
	register_possible_exception();
	jff_DIVU(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* OR.B Dn,(An) */
uae_u32 REGPARAM2 op_8110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(An)+ */
uae_u32 REGPARAM2 op_8118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,-(An) */
uae_u32 REGPARAM2 op_8120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_8128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_8130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_8138_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_8139_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_OR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(An) */
uae_u32 REGPARAM2 op_8150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(An)+ */
uae_u32 REGPARAM2 op_8158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,-(An) */
uae_u32 REGPARAM2 op_8160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_8168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_8170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_8178_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_8179_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_OR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(An) */
uae_u32 REGPARAM2 op_8190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(An)+ */
uae_u32 REGPARAM2 op_8198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,-(An) */
uae_u32 REGPARAM2 op_81a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_81a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_81b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_81b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_81b9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_OR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DIVS.W Dn,Dn */
uae_u32 REGPARAM2 op_81c0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=srcreg;
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (An),Dn */
uae_u32 REGPARAM2 op_81d0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (An)+,Dn */
uae_u32 REGPARAM2 op_81d8_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W -(An),Dn */
uae_u32 REGPARAM2 op_81e0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (d16,An),Dn */
uae_u32 REGPARAM2 op_81e8_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_81f0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_81f8_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_81f9_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_81fa_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_81fb_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_81fc_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg;
	register_possible_exception();
	jff_DIVS(dst,src);
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* SUB.B Dn,Dn */
uae_u32 REGPARAM2 op_9000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (An),Dn */
uae_u32 REGPARAM2 op_9010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (An)+,Dn */
uae_u32 REGPARAM2 op_9018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B -(An),Dn */
uae_u32 REGPARAM2 op_9020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (d16,An),Dn */
uae_u32 REGPARAM2 op_9028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_9030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_9038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_9039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_903a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_903b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_903c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,Dn */
uae_u32 REGPARAM2 op_9040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W An,Dn */
uae_u32 REGPARAM2 op_9048_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (An),Dn */
uae_u32 REGPARAM2 op_9050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (An)+,Dn */
uae_u32 REGPARAM2 op_9058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W -(An),Dn */
uae_u32 REGPARAM2 op_9060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (d16,An),Dn */
uae_u32 REGPARAM2 op_9068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_9070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_9078_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_9079_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_907a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_907b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_907c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,Dn */
uae_u32 REGPARAM2 op_9080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L An,Dn */
uae_u32 REGPARAM2 op_9088_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (An),Dn */
uae_u32 REGPARAM2 op_9090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (An)+,Dn */
uae_u32 REGPARAM2 op_9098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L -(An),Dn */
uae_u32 REGPARAM2 op_90a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (d16,An),Dn */
uae_u32 REGPARAM2 op_90a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_90b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_90b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_90b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_90ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_90bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_90bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_SUB_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W Dn,An */
uae_u32 REGPARAM2 op_90c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W An,An */
uae_u32 REGPARAM2 op_90c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (An),An */
uae_u32 REGPARAM2 op_90d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (An)+,An */
uae_u32 REGPARAM2 op_90d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W -(An),An */
uae_u32 REGPARAM2 op_90e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (d16,An),An */
uae_u32 REGPARAM2 op_90e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (d8,An,Xn),An */
uae_u32 REGPARAM2 op_90f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (xxx).W,An */
uae_u32 REGPARAM2 op_90f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (xxx).L,An */
uae_u32 REGPARAM2 op_90f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (d16,PC),An */
uae_u32 REGPARAM2 op_90fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_90fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W #<data>.W,An */
uae_u32 REGPARAM2 op_90fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg+8;
	 jnf_SUBA_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.B Dn,Dn */
uae_u32 REGPARAM2 op_9100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	dont_care_flags();
	 make_flags_live();
	 jff_SUBX_b(dst,src);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.B -(An),-(An) */
uae_u32 REGPARAM2 op_9108_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	dont_care_flags();
	 make_flags_live();
	 jff_SUBX_b(dst,src);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(An) */
uae_u32 REGPARAM2 op_9110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(An)+ */
uae_u32 REGPARAM2 op_9118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,-(An) */
uae_u32 REGPARAM2 op_9120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_9128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_9130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_9138_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_9139_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_SUB_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.W Dn,Dn */
uae_u32 REGPARAM2 op_9140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	dont_care_flags();
	 make_flags_live();
	 jff_SUBX_w(dst,src);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.W -(An),-(An) */
uae_u32 REGPARAM2 op_9148_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	dont_care_flags();
	 make_flags_live();
	 jff_SUBX_w(dst,src);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(An) */
uae_u32 REGPARAM2 op_9150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(An)+ */
uae_u32 REGPARAM2 op_9158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,-(An) */
uae_u32 REGPARAM2 op_9160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_9168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_9170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_9178_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_9179_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_SUB_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.L Dn,Dn */
uae_u32 REGPARAM2 op_9180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	dont_care_flags();
	 make_flags_live();
	 jff_SUBX_l(dst,src);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.L -(An),-(An) */
uae_u32 REGPARAM2 op_9188_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	dont_care_flags();
	 make_flags_live();
	 jff_SUBX_l(dst,src);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(An) */
uae_u32 REGPARAM2 op_9190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(An)+ */
uae_u32 REGPARAM2 op_9198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,-(An) */
uae_u32 REGPARAM2 op_91a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_91a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_91b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_91b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_91b9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_SUB_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L Dn,An */
uae_u32 REGPARAM2 op_91c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L An,An */
uae_u32 REGPARAM2 op_91c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (An),An */
uae_u32 REGPARAM2 op_91d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (An)+,An */
uae_u32 REGPARAM2 op_91d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L -(An),An */
uae_u32 REGPARAM2 op_91e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (d16,An),An */
uae_u32 REGPARAM2 op_91e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_91f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (xxx).W,An */
uae_u32 REGPARAM2 op_91f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (xxx).L,An */
uae_u32 REGPARAM2 op_91f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (d16,PC),An */
uae_u32 REGPARAM2 op_91fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_91fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L #<data>.L,An */
uae_u32 REGPARAM2 op_91fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg+8;
	 jnf_SUBA_l_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B Dn,Dn */
uae_u32 REGPARAM2 op_b000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (An),Dn */
uae_u32 REGPARAM2 op_b010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (An)+,Dn */
uae_u32 REGPARAM2 op_b018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B -(An),Dn */
uae_u32 REGPARAM2 op_b020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (d16,An),Dn */
uae_u32 REGPARAM2 op_b028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_b030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_b038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_b039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_b03a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_b03b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_b03c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W Dn,Dn */
uae_u32 REGPARAM2 op_b040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W An,Dn */
uae_u32 REGPARAM2 op_b048_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (An),Dn */
uae_u32 REGPARAM2 op_b050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (An)+,Dn */
uae_u32 REGPARAM2 op_b058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W -(An),Dn */
uae_u32 REGPARAM2 op_b060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (d16,An),Dn */
uae_u32 REGPARAM2 op_b068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_b070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_b078_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_b079_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_b07a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_b07b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_b07c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L Dn,Dn */
uae_u32 REGPARAM2 op_b080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L An,Dn */
uae_u32 REGPARAM2 op_b088_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (An),Dn */
uae_u32 REGPARAM2 op_b090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_7
/* CMP.L (An)+,Dn */
uae_u32 REGPARAM2 op_b098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L -(An),Dn */
uae_u32 REGPARAM2 op_b0a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (d16,An),Dn */
uae_u32 REGPARAM2 op_b0a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_b0b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_b0b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_b0b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_b0ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_b0bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_b0bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_CMP_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W Dn,An */
uae_u32 REGPARAM2 op_b0c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W An,An */
uae_u32 REGPARAM2 op_b0c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (An),An */
uae_u32 REGPARAM2 op_b0d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (An)+,An */
uae_u32 REGPARAM2 op_b0d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W -(An),An */
uae_u32 REGPARAM2 op_b0e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (d16,An),An */
uae_u32 REGPARAM2 op_b0e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (d8,An,Xn),An */
uae_u32 REGPARAM2 op_b0f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (xxx).W,An */
uae_u32 REGPARAM2 op_b0f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (xxx).L,An */
uae_u32 REGPARAM2 op_b0f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (d16,PC),An */
uae_u32 REGPARAM2 op_b0fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_b0fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W #<data>.W,An */
uae_u32 REGPARAM2 op_b0fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,Dn */
uae_u32 REGPARAM2 op_b100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_EOR_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPM.B (An)+,(An)+ */
uae_u32 REGPARAM2 op_b108_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_CMP_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(An) */
uae_u32 REGPARAM2 op_b110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(An)+ */
uae_u32 REGPARAM2 op_b118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,-(An) */
uae_u32 REGPARAM2 op_b120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_b128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_b130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_b138_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_b139_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_EOR_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,Dn */
uae_u32 REGPARAM2 op_b140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_EOR_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPM.W (An)+,(An)+ */
uae_u32 REGPARAM2 op_b148_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_CMP_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(An) */
uae_u32 REGPARAM2 op_b150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(An)+ */
uae_u32 REGPARAM2 op_b158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,-(An) */
uae_u32 REGPARAM2 op_b160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_b168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_b170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_b178_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_b179_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_EOR_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,Dn */
uae_u32 REGPARAM2 op_b180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_EOR_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPM.L (An)+,(An)+ */
uae_u32 REGPARAM2 op_b188_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_CMP_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(An) */
uae_u32 REGPARAM2 op_b190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(An)+ */
uae_u32 REGPARAM2 op_b198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,-(An) */
uae_u32 REGPARAM2 op_b1a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_b1a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_b1b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_b1b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_b1b9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_EOR_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L Dn,An */
uae_u32 REGPARAM2 op_b1c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L An,An */
uae_u32 REGPARAM2 op_b1c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (An),An */
uae_u32 REGPARAM2 op_b1d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (An)+,An */
uae_u32 REGPARAM2 op_b1d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L -(An),An */
uae_u32 REGPARAM2 op_b1e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (d16,An),An */
uae_u32 REGPARAM2 op_b1e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_b1f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (xxx).W,An */
uae_u32 REGPARAM2 op_b1f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (xxx).L,An */
uae_u32 REGPARAM2 op_b1f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (d16,PC),An */
uae_u32 REGPARAM2 op_b1fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_b1fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L #<data>.L,An */
uae_u32 REGPARAM2 op_b1fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg+8;
	 dont_care_flags();
	 jff_CMPA_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,Dn */
uae_u32 REGPARAM2 op_c000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (An),Dn */
uae_u32 REGPARAM2 op_c010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (An)+,Dn */
uae_u32 REGPARAM2 op_c018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B -(An),Dn */
uae_u32 REGPARAM2 op_c020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (d16,An),Dn */
uae_u32 REGPARAM2 op_c028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_c038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_c039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_c03a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c03b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_c03c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_b_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,Dn */
uae_u32 REGPARAM2 op_c040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (An),Dn */
uae_u32 REGPARAM2 op_c050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (An)+,Dn */
uae_u32 REGPARAM2 op_c058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W -(An),Dn */
uae_u32 REGPARAM2 op_c060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (d16,An),Dn */
uae_u32 REGPARAM2 op_c068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_c078_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_c079_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_c07a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c07b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_c07c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_w_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,Dn */
uae_u32 REGPARAM2 op_c080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (An),Dn */
uae_u32 REGPARAM2 op_c090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (An)+,Dn */
uae_u32 REGPARAM2 op_c098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L -(An),Dn */
uae_u32 REGPARAM2 op_c0a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (d16,An),Dn */
uae_u32 REGPARAM2 op_c0a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c0b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_c0b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_c0b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_c0ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c0bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_c0bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_AND_l_imm(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W Dn,Dn */
uae_u32 REGPARAM2 op_c0c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=srcreg;
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (An),Dn */
uae_u32 REGPARAM2 op_c0d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (An)+,Dn */
uae_u32 REGPARAM2 op_c0d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W -(An),Dn */
uae_u32 REGPARAM2 op_c0e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (d16,An),Dn */
uae_u32 REGPARAM2 op_c0e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c0f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_c0f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_c0f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_c0fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c0fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_c0fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg;
	 jff_MULU(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(An) */
uae_u32 REGPARAM2 op_c110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(An)+ */
uae_u32 REGPARAM2 op_c118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,-(An) */
uae_u32 REGPARAM2 op_c120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_c128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_c138_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_c139_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_AND_b(dst,src);
	 live_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXG.L Dn,Dn */
uae_u32 REGPARAM2 op_c140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	int tmp=alloc_scratch();
	mov_l_rr(tmp,src);
	if(srcreg!=dst)
		mov_l_rr(srcreg,dst);
	if(dstreg!=tmp)
		mov_l_rr(dstreg,tmp);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXG.L An,An */
uae_u32 REGPARAM2 op_c148_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	int tmp=alloc_scratch();
	mov_l_rr(tmp,src);
	if(srcreg+8!=dst)
		mov_l_rr(srcreg+8,dst);
	if(dstreg+8!=tmp)
		mov_l_rr(dstreg+8,tmp);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(An) */
uae_u32 REGPARAM2 op_c150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(An)+ */
uae_u32 REGPARAM2 op_c158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,-(An) */
uae_u32 REGPARAM2 op_c160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_c168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_c178_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_c179_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_AND_w(dst,src);
	 live_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXG.L Dn,An */
uae_u32 REGPARAM2 op_c188_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	int tmp=alloc_scratch();
	mov_l_rr(tmp,src);
	if(srcreg!=dst)
		mov_l_rr(srcreg,dst);
	if(dstreg+8!=tmp)
		mov_l_rr(dstreg+8,tmp);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(An) */
uae_u32 REGPARAM2 op_c190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(An)+ */
uae_u32 REGPARAM2 op_c198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,-(An) */
uae_u32 REGPARAM2 op_c1a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_c1a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c1b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_c1b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_c1b9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_AND_l(dst,src);
	 live_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W Dn,Dn */
uae_u32 REGPARAM2 op_c1c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=srcreg;
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (An),Dn */
uae_u32 REGPARAM2 op_c1d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (An)+,Dn */
uae_u32 REGPARAM2 op_c1d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W -(An),Dn */
uae_u32 REGPARAM2 op_c1e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (d16,An),Dn */
uae_u32 REGPARAM2 op_c1e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c1f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_c1f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_c1f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_c1fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c1fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_c1fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg;
	 jff_MULS(dst,src);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,Dn */
uae_u32 REGPARAM2 op_d000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (An),Dn */
uae_u32 REGPARAM2 op_d010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (An)+,Dn */
uae_u32 REGPARAM2 op_d018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B -(An),Dn */
uae_u32 REGPARAM2 op_d020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (d16,An),Dn */
uae_u32 REGPARAM2 op_d028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_d030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_d038_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_d039_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_d03a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_d03b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_d03c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_b_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,Dn */
uae_u32 REGPARAM2 op_d040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W An,Dn */
uae_u32 REGPARAM2 op_d048_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (An),Dn */
uae_u32 REGPARAM2 op_d050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (An)+,Dn */
uae_u32 REGPARAM2 op_d058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W -(An),Dn */
uae_u32 REGPARAM2 op_d060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (d16,An),Dn */
uae_u32 REGPARAM2 op_d068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_d070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_d078_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_d079_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_d07a_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_d07b_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_d07c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_w_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,Dn */
uae_u32 REGPARAM2 op_d080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L An,Dn */
uae_u32 REGPARAM2 op_d088_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (An),Dn */
uae_u32 REGPARAM2 op_d090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (An)+,Dn */
uae_u32 REGPARAM2 op_d098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L -(An),Dn */
uae_u32 REGPARAM2 op_d0a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (d16,An),Dn */
uae_u32 REGPARAM2 op_d0a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_d0b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_d0b8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_d0b9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_d0ba_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_d0bb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_d0bc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jff_ADD_l_imm(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W Dn,An */
uae_u32 REGPARAM2 op_d0c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W An,An */
uae_u32 REGPARAM2 op_d0c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (An),An */
uae_u32 REGPARAM2 op_d0d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (An)+,An */
uae_u32 REGPARAM2 op_d0d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W -(An),An */
uae_u32 REGPARAM2 op_d0e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (d16,An),An */
uae_u32 REGPARAM2 op_d0e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (d8,An,Xn),An */
uae_u32 REGPARAM2 op_d0f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (xxx).W,An */
uae_u32 REGPARAM2 op_d0f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (xxx).L,An */
uae_u32 REGPARAM2 op_d0f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (d16,PC),An */
uae_u32 REGPARAM2 op_d0fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_d0fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W #<data>.W,An */
uae_u32 REGPARAM2 op_d0fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg+8;
	 jnf_ADDA_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.B Dn,Dn */
uae_u32 REGPARAM2 op_d100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 make_flags_live();
	 jff_ADDX_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.B -(An),-(An) */
uae_u32 REGPARAM2 op_d108_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 make_flags_live();
	 jff_ADDX_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(An) */
uae_u32 REGPARAM2 op_d110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(An)+ */
uae_u32 REGPARAM2 op_d118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,-(An) */
uae_u32 REGPARAM2 op_d120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_d128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_d130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_d138_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_d139_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jff_ADD_b(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.W Dn,Dn */
uae_u32 REGPARAM2 op_d140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 make_flags_live();
	 jff_ADDX_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.W -(An),-(An) */
uae_u32 REGPARAM2 op_d148_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 make_flags_live();
	 jff_ADDX_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(An) */
uae_u32 REGPARAM2 op_d150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(An)+ */
uae_u32 REGPARAM2 op_d158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,-(An) */
uae_u32 REGPARAM2 op_d160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_d168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_d170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_d178_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_d179_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jff_ADD_w(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.L Dn,Dn */
uae_u32 REGPARAM2 op_d180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 make_flags_live();
	 jff_ADDX_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.L -(An),-(An) */
uae_u32 REGPARAM2 op_d188_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 make_flags_live();
	 jff_ADDX_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(An) */
uae_u32 REGPARAM2 op_d190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(An)+ */
uae_u32 REGPARAM2 op_d198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,-(An) */
uae_u32 REGPARAM2 op_d1a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_d1a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_d1b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_d1b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_d1b9_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jff_ADD_l(dst,src);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L Dn,An */
uae_u32 REGPARAM2 op_d1c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L An,An */
uae_u32 REGPARAM2 op_d1c8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (An),An */
uae_u32 REGPARAM2 op_d1d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (An)+,An */
uae_u32 REGPARAM2 op_d1d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L -(An),An */
uae_u32 REGPARAM2 op_d1e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (d16,An),An */
uae_u32 REGPARAM2 op_d1e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_d1f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (xxx).W,An */
uae_u32 REGPARAM2 op_d1f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (xxx).L,An */
uae_u32 REGPARAM2 op_d1f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (d16,PC),An */
uae_u32 REGPARAM2 op_d1fa_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_d1fb_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L #<data>.L,An */
uae_u32 REGPARAM2 op_d1fc_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg+8;
	 jnf_ADDA_l_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e000_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASR_b_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e008_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_LSR_b_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXRQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e010_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 make_flags_live();
	 jff_ROXR_b(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e018_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jff_ROR_b(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASR.B Dn,Dn */
uae_u32 REGPARAM2 op_e020_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASR_b_reg(data,srcreg);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSR.B Dn,Dn */
uae_u32 REGPARAM2 op_e028_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_LSR_b_reg(data,srcreg);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_8
/* ROXR.B Dn,Dn */
uae_u32 REGPARAM2 op_e030_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 make_flags_live();
	 jff_ROXR_b(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROR.B Dn,Dn */
uae_u32 REGPARAM2 op_e038_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jff_ROR_b(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e040_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASR_w_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e048_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_LSR_w_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXRQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e050_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 make_flags_live();
	 jff_ROXR_w(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e058_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jff_ROR_w(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASR.W Dn,Dn */
uae_u32 REGPARAM2 op_e060_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASR_w_reg(data,srcreg);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSR.W Dn,Dn */
uae_u32 REGPARAM2 op_e068_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_LSR_w_reg(data,srcreg);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXR.W Dn,Dn */
uae_u32 REGPARAM2 op_e070_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 make_flags_live();
	 jff_ROXR_w(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROR.W Dn,Dn */
uae_u32 REGPARAM2 op_e078_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jff_ROR_w(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e080_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASR_l_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e088_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_LSR_l_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXRQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e090_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 make_flags_live();
	 jff_ROXR_l(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e098_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jff_ROR_l(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASR.L Dn,Dn */
uae_u32 REGPARAM2 op_e0a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASR_l_reg(data,srcreg);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSR.L Dn,Dn */
uae_u32 REGPARAM2 op_e0a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_LSR_l_reg(data,srcreg);
	 live_flags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXR.L Dn,Dn */
uae_u32 REGPARAM2 op_e0b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 make_flags_live();
	 jff_ROXR_l(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROR.L Dn,Dn */
uae_u32 REGPARAM2 op_e0b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jff_ROR_l(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (An) */
uae_u32 REGPARAM2 op_e0d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (An)+ */
uae_u32 REGPARAM2 op_e0d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASRW(src);
	 live_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W -(An) */
uae_u32 REGPARAM2 op_e0e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (d16,An) */
uae_u32 REGPARAM2 op_e0e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e0f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (xxx).W */
uae_u32 REGPARAM2 op_e0f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (xxx).L */
uae_u32 REGPARAM2 op_e0f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e100_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASL_b_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e108_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jff_LSL_b_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXLQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e110_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 make_flags_live();
	 jff_ROXL_b(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e118_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jff_ROL_b(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASL.B Dn,Dn */
uae_u32 REGPARAM2 op_e120_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASL_b_reg(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSL.B Dn,Dn */
uae_u32 REGPARAM2 op_e128_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jff_LSL_b_reg(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXL.B Dn,Dn */
uae_u32 REGPARAM2 op_e130_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 make_flags_live();
	 jff_ROXL_b(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROL.B Dn,Dn */
uae_u32 REGPARAM2 op_e138_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jff_ROL_b(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e140_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASL_w_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e148_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jff_LSL_w_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXLQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e150_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 make_flags_live();
	 jff_ROXL_w(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e158_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jff_ROL_w(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASL.W Dn,Dn */
uae_u32 REGPARAM2 op_e160_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASL_w_reg(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSL.W Dn,Dn */
uae_u32 REGPARAM2 op_e168_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jff_LSL_w_reg(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXL.W Dn,Dn */
uae_u32 REGPARAM2 op_e170_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 make_flags_live();
	 jff_ROXL_w(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROL.W Dn,Dn */
uae_u32 REGPARAM2 op_e178_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jff_ROL_w(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e180_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASL_l_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e188_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jff_LSL_l_imm(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXLQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e190_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 make_flags_live();
	 jff_ROXL_l(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e198_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jff_ROL_l(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASL.L Dn,Dn */
uae_u32 REGPARAM2 op_e1a0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jff_ASL_l_reg(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSL.L Dn,Dn */
uae_u32 REGPARAM2 op_e1a8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jff_LSL_l_reg(data,srcreg);
	 live_flags();
	 if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXL.L Dn,Dn */
uae_u32 REGPARAM2 op_e1b0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 make_flags_live();
	 jff_ROXL_l(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROL.L Dn,Dn */
uae_u32 REGPARAM2 op_e1b8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jff_ROL_l(data,cnt);
	 live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (An) */
uae_u32 REGPARAM2 op_e1d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (An)+ */
uae_u32 REGPARAM2 op_e1d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASLW(src);
	 live_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W -(An) */
uae_u32 REGPARAM2 op_e1e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (d16,An) */
uae_u32 REGPARAM2 op_e1e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e1f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (xxx).W */
uae_u32 REGPARAM2 op_e1f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (xxx).L */
uae_u32 REGPARAM2 op_e1f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ASLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (An) */
uae_u32 REGPARAM2 op_e2d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (An)+ */
uae_u32 REGPARAM2 op_e2d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSRW(src);
	 live_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W -(An) */
uae_u32 REGPARAM2 op_e2e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (d16,An) */
uae_u32 REGPARAM2 op_e2e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e2f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (xxx).W */
uae_u32 REGPARAM2 op_e2f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (xxx).L */
uae_u32 REGPARAM2 op_e2f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSRW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (An) */
uae_u32 REGPARAM2 op_e3d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (An)+ */
uae_u32 REGPARAM2 op_e3d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSLW(src);
	 live_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W -(An) */
uae_u32 REGPARAM2 op_e3e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (d16,An) */
uae_u32 REGPARAM2 op_e3e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e3f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (xxx).W */
uae_u32 REGPARAM2 op_e3f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (xxx).L */
uae_u32 REGPARAM2 op_e3f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jff_LSLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (An) */
uae_u32 REGPARAM2 op_e6d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_RORW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (An)+ */
uae_u32 REGPARAM2 op_e6d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_RORW(src);
	 live_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W -(An) */
uae_u32 REGPARAM2 op_e6e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_RORW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (d16,An) */
uae_u32 REGPARAM2 op_e6e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_RORW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e6f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_RORW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (xxx).W */
uae_u32 REGPARAM2 op_e6f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_RORW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (xxx).L */
uae_u32 REGPARAM2 op_e6f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jff_RORW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (An) */
uae_u32 REGPARAM2 op_e7d0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ROLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (An)+ */
uae_u32 REGPARAM2 op_e7d8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ROLW(src);
	 live_flags();
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W -(An) */
uae_u32 REGPARAM2 op_e7e0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ROLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (d16,An) */
uae_u32 REGPARAM2 op_e7e8_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ROLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e7f0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ROLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (xxx).W */
uae_u32 REGPARAM2 op_e7f8_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ROLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (xxx).L */
uae_u32 REGPARAM2 op_e7f9_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jff_ROLW(src);
	 live_flags();
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BFINS.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_efc0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dst=dstreg;
	if ((extra & 0x0820) == 0x0000) {
	  jff_BFINS_ii(dst, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0800) { 
	  jff_BFINS_di(dst, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	  jff_BFINS_id(dst, srcreg, offs, width);
	} else { 
	  jff_BFINS_dd(dst, srcreg, offs, width);
	}
	live_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_efd0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	mov_l_rr(dsta,dstreg+8);
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jff_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jff_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jff_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jff_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jff_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	live_flags();
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_efe8_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jff_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jff_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jff_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jff_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jff_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	live_flags();
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_eff0_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jff_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jff_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jff_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jff_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jff_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	live_flags();
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_eff8_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jff_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jff_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jff_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jff_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jff_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	live_flags();
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_eff9_0_comp_ff(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jff_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jff_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jff_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jff_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jff_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	live_flags();
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* FPP.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_f200_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,An */
uae_u32 REGPARAM2 op_f208_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_f210_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_f218_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_f220_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_f228_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_f230_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_f238_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_f239_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_f23a_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_f23b_0_comp_ff(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,#<data>.L */
uae_u32 REGPARAM2 op_f23c_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_f240_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_f250_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_f258_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_f260_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_f268_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_f270_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_f278_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_f279_0_comp_ff(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FBccQ.L #<data>,#<data>.W */
uae_u32 REGPARAM2 op_f280_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 63);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	comp_fbcc_opp(opcode);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FBccQ.L #<data>,#<data>.L */
uae_u32 REGPARAM2 op_f2c0_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 63);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	comp_fbcc_opp(opcode);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (An)+,(xxx).L */
uae_u32 REGPARAM2 op_f600_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
	int srca=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 jnf_ADD_im8(srcreg + 8, srcreg + 8, 16);
	jnf_MOVE16(dsta, srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (xxx).L,(An)+ */
uae_u32 REGPARAM2 op_f608_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dsta=dstreg+8;
	 jnf_ADD_im8(dstreg + 8, dstreg + 8, 16);
	jnf_MOVE16(dsta, srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (An),(xxx).L */
uae_u32 REGPARAM2 op_f610_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
	int srca=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	jnf_MOVE16(dsta, srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (xxx).L,(An) */
uae_u32 REGPARAM2 op_f618_0_comp_ff(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dsta=dstreg+8;
	jnf_MOVE16(dsta, srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (An)+,(An)+ */
uae_u32 REGPARAM2 op_f620_0_comp_ff(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_s32 dstreg = 0;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
{	 uae_u16 dstreg = ((comp_get_iword((m68k_pc_offset+=2)-2))>>12) & 0x07;
	int srca=srcreg + 8;
	int dsta=dstreg + 8;
	jnf_MOVE16(dsta, srca);
	 if (srcreg != dstreg)
	   jnf_ADD_im8(srcreg + 8, srcreg + 8, 16);
	 jnf_ADD_im8(dstreg + 8, dstreg + 8, 16);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
#endif


#if !defined(PART_1) && !defined(PART_2) && !defined(PART_3) && !defined(PART_4) && !defined(PART_5) && !defined(PART_6) && !defined(PART_7) && !defined(PART_8)
#define PART_1 1
#define PART_2 1
#define PART_3 1
#define PART_4 1
#define PART_5 1
#define PART_6 1
#define PART_7 1
#define PART_8 1
#endif

extern void comp_fpp_opp();
extern void comp_fscc_opp();
extern void comp_fbcc_opp();

#ifdef PART_1
/* OR.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_10_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_18_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_20_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_28_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_30_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_38_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_39_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ORSR.B #<data>.W */
uae_u32 REGPARAM2 op_3c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_40_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_50_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_58_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_60_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_68_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_70_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_78_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_79_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_80_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_90_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_98_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_a0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_a8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_b0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.L Dn,Dn */
uae_u32 REGPARAM2 op_100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(An) */
uae_u32 REGPARAM2 op_110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(An)+ */
uae_u32 REGPARAM2 op_118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,-(An) */
uae_u32 REGPARAM2 op_120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_138_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_139_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(d16,PC) */
uae_u32 REGPARAM2 op_13a_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_13b_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B Dn,#<data>.B */
uae_u32 REGPARAM2 op_13c_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=alloc_scratch();
	mov_l_ri(dst,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.L Dn,Dn */
uae_u32 REGPARAM2 op_140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 jnf_BCHG_l(dst,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(An) */
uae_u32 REGPARAM2 op_150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(An)+ */
uae_u32 REGPARAM2 op_158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,-(An) */
uae_u32 REGPARAM2 op_160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_178_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_179_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.L Dn,Dn */
uae_u32 REGPARAM2 op_180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 jnf_BCLR_l(dst,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(An) */
uae_u32 REGPARAM2 op_190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(An)+ */
uae_u32 REGPARAM2 op_198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,-(An) */
uae_u32 REGPARAM2 op_1a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_1a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_1b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_1b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_1b9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.L Dn,Dn */
uae_u32 REGPARAM2 op_1c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 jnf_BSET_l(dst,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(An) */
uae_u32 REGPARAM2 op_1d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(An)+ */
uae_u32 REGPARAM2 op_1d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,-(An) */
uae_u32 REGPARAM2 op_1e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_1e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_1f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_1f8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_1f9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_200_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_210_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_218_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_220_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_228_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_230_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_238_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_239_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ANDSR.B #<data>.W */
uae_u32 REGPARAM2 op_23c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_240_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_250_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_258_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_260_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_268_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_270_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_278_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_279_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_280_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_290_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_298_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_2a0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_2a8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_2b0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_2b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_2b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_400_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_410_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_418_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_420_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_428_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_430_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_438_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_439_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_440_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_450_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_458_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_460_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_468_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_470_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_478_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_479_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_480_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_490_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_498_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_4a0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_4a8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4b0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_4b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_4b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_600_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_610_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_618_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_620_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_628_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_630_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_638_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_639_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_640_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_650_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_658_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_660_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_668_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_670_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_678_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_679_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_680_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_690_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_698_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_6a0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_6a8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_6b0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_6b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_6b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_800_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(An) */
uae_u32 REGPARAM2 op_810_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_818_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,-(An) */
uae_u32 REGPARAM2 op_820_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_828_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_830_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_838_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_839_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_83a_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BTST.B #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_83b_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_840_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 jnf_BCHG_l_imm(dst,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(An) */
uae_u32 REGPARAM2 op_850_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_858_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,-(An) */
uae_u32 REGPARAM2 op_860_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_868_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_870_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_878_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCHG.B #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_879_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCHG_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_880_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 jnf_BCLR_l_imm(dst,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(An) */
uae_u32 REGPARAM2 op_890_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_898_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,-(An) */
uae_u32 REGPARAM2 op_8a0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_8a8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_8b0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_8b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BCLR.B #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_8b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BCLR_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_8c0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 jnf_BSET_l_imm(dst,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(An) */
uae_u32 REGPARAM2 op_8d0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_8d8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,-(An) */
uae_u32 REGPARAM2 op_8e0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_8e8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_8f0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_8f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSET.B #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_8f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 jnf_BSET_b_imm(dst,src);
	 dont_care_flags();
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_a00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_EOR_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_a10_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_a18_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b_imm(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_a20_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_a28_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_a30_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_a38_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_a39_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EORSR.B #<data>.W */
uae_u32 REGPARAM2 op_a3c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_a40_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_EOR_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_a50_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_a58_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w_imm(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_a60_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_a68_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_a70_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_a78_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_a79_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_a80_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_EOR_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_a90_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_a98_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l_imm(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_aa0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_aa8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_ab0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_ab8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_ab9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_2
/* CMP.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_c00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_c10_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_c18_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_c20_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_c28_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c30_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_c38_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_c39_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(d16,PC) */
uae_u32 REGPARAM2 op_c3a_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_c3b_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_c40_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_c50_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_c58_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_c60_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_c68_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c70_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_c78_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_c79_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_c7a_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_c7b_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_c80_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_c90_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_c98_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_ca0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_ca8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_cb0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_cb8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_cb9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(d16,PC) */
uae_u32 REGPARAM2 op_cba_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_cbb_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,Dn */
uae_u32 REGPARAM2 op_1000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),Dn */
uae_u32 REGPARAM2 op_1010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,Dn */
uae_u32 REGPARAM2 op_1018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),Dn */
uae_u32 REGPARAM2 op_1020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),Dn */
uae_u32 REGPARAM2 op_1028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_1030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_1038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_1039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_103a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_103b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_103c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_b_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(An) */
uae_u32 REGPARAM2 op_1080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(An) */
uae_u32 REGPARAM2 op_1090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(An) */
uae_u32 REGPARAM2 op_1098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(An) */
uae_u32 REGPARAM2 op_10a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(An) */
uae_u32 REGPARAM2 op_10a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(An) */
uae_u32 REGPARAM2 op_10b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(An) */
uae_u32 REGPARAM2 op_10b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(An) */
uae_u32 REGPARAM2 op_10b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(An) */
uae_u32 REGPARAM2 op_10ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(An) */
uae_u32 REGPARAM2 op_10bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(An) */
uae_u32 REGPARAM2 op_10bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(An)+ */
uae_u32 REGPARAM2 op_10c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(An)+ */
uae_u32 REGPARAM2 op_10d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(An)+ */
uae_u32 REGPARAM2 op_10d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(An)+ */
uae_u32 REGPARAM2 op_10e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(An)+ */
uae_u32 REGPARAM2 op_10e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(An)+ */
uae_u32 REGPARAM2 op_10f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(An)+ */
uae_u32 REGPARAM2 op_10f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(An)+ */
uae_u32 REGPARAM2 op_10f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(An)+ */
uae_u32 REGPARAM2 op_10fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(An)+ */
uae_u32 REGPARAM2 op_10fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(An)+ */
uae_u32 REGPARAM2 op_10fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	 dont_care_flags();
	writebyte(dsta,src);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,-(An) */
uae_u32 REGPARAM2 op_1100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),-(An) */
uae_u32 REGPARAM2 op_1110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,-(An) */
uae_u32 REGPARAM2 op_1118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),-(An) */
uae_u32 REGPARAM2 op_1120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),-(An) */
uae_u32 REGPARAM2 op_1128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),-(An) */
uae_u32 REGPARAM2 op_1130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,-(An) */
uae_u32 REGPARAM2 op_1138_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,-(An) */
uae_u32 REGPARAM2 op_1139_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),-(An) */
uae_u32 REGPARAM2 op_113a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),-(An) */
uae_u32 REGPARAM2 op_113b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,-(An) */
uae_u32 REGPARAM2 op_113c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_1140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(d16,An) */
uae_u32 REGPARAM2 op_1150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(d16,An) */
uae_u32 REGPARAM2 op_1158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(d16,An) */
uae_u32 REGPARAM2 op_1160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(d16,An) */
uae_u32 REGPARAM2 op_1168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(d16,An) */
uae_u32 REGPARAM2 op_1170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(d16,An) */
uae_u32 REGPARAM2 op_1178_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(d16,An) */
uae_u32 REGPARAM2 op_1179_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(d16,An) */
uae_u32 REGPARAM2 op_117a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(d16,An) */
uae_u32 REGPARAM2 op_117b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(d16,An) */
uae_u32 REGPARAM2 op_117c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_1180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_1190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(d8,An,Xn) */
uae_u32 REGPARAM2 op_1198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_11b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_11b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_11bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(d8,An,Xn) */
uae_u32 REGPARAM2 op_11bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_11c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(xxx).W */
uae_u32 REGPARAM2 op_11d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(xxx).W */
uae_u32 REGPARAM2 op_11d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(xxx).W */
uae_u32 REGPARAM2 op_11e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(xxx).W */
uae_u32 REGPARAM2 op_11e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(xxx).W */
uae_u32 REGPARAM2 op_11f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(xxx).W */
uae_u32 REGPARAM2 op_11f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(xxx).W */
uae_u32 REGPARAM2 op_11f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(xxx).W */
uae_u32 REGPARAM2 op_11fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(xxx).W */
uae_u32 REGPARAM2 op_11fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(xxx).W */
uae_u32 REGPARAM2 op_11fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_13c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An),(xxx).L */
uae_u32 REGPARAM2 op_13d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (An)+,(xxx).L */
uae_u32 REGPARAM2 op_13d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B -(An),(xxx).L */
uae_u32 REGPARAM2 op_13e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,An),(xxx).L */
uae_u32 REGPARAM2 op_13e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,An,Xn),(xxx).L */
uae_u32 REGPARAM2 op_13f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).W,(xxx).L */
uae_u32 REGPARAM2 op_13f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (xxx).L,(xxx).L */
uae_u32 REGPARAM2 op_13f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d16,PC),(xxx).L */
uae_u32 REGPARAM2 op_13fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B (d8,PC,Xn),(xxx).L */
uae_u32 REGPARAM2 op_13fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.B #<data>.B,(xxx).L */
uae_u32 REGPARAM2 op_13fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writebyte(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,Dn */
uae_u32 REGPARAM2 op_2000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,Dn */
uae_u32 REGPARAM2 op_2008_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),Dn */
uae_u32 REGPARAM2 op_2010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,Dn */
uae_u32 REGPARAM2 op_2018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),Dn */
uae_u32 REGPARAM2 op_2020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),Dn */
uae_u32 REGPARAM2 op_2028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_2030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_2038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_2039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_203a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_203b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_203c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L Dn,An */
uae_u32 REGPARAM2 op_2040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L An,An */
uae_u32 REGPARAM2 op_2048_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (An),An */
uae_u32 REGPARAM2 op_2050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (An)+,An */
uae_u32 REGPARAM2 op_2058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L -(An),An */
uae_u32 REGPARAM2 op_2060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (d16,An),An */
uae_u32 REGPARAM2 op_2068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_2070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (xxx).W,An */
uae_u32 REGPARAM2 op_2078_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (xxx).L,An */
uae_u32 REGPARAM2 op_2079_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (d16,PC),An */
uae_u32 REGPARAM2 op_207a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_207b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.L #<data>.L,An */
uae_u32 REGPARAM2 op_207c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dst=dstreg+8;
	 jnf_MOVEA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(An) */
uae_u32 REGPARAM2 op_2080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(An) */
uae_u32 REGPARAM2 op_2088_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(An) */
uae_u32 REGPARAM2 op_2090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(An) */
uae_u32 REGPARAM2 op_2098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(An) */
uae_u32 REGPARAM2 op_20a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(An) */
uae_u32 REGPARAM2 op_20a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(An) */
uae_u32 REGPARAM2 op_20b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(An) */
uae_u32 REGPARAM2 op_20b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(An) */
uae_u32 REGPARAM2 op_20b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(An) */
uae_u32 REGPARAM2 op_20ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(An) */
uae_u32 REGPARAM2 op_20bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(An) */
uae_u32 REGPARAM2 op_20bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(An)+ */
uae_u32 REGPARAM2 op_20c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(An)+ */
uae_u32 REGPARAM2 op_20c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(srcreg==(uae_s32)dstreg){
		src=alloc_scratch();
		mov_l_rr(src,srcreg+8);
	}
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(An)+ */
uae_u32 REGPARAM2 op_20d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(An)+ */
uae_u32 REGPARAM2 op_20d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(An)+ */
uae_u32 REGPARAM2 op_20e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(An)+ */
uae_u32 REGPARAM2 op_20e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(An)+ */
uae_u32 REGPARAM2 op_20f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(An)+ */
uae_u32 REGPARAM2 op_20f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(An)+ */
uae_u32 REGPARAM2 op_20f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(An)+ */
uae_u32 REGPARAM2 op_20fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(An)+ */
uae_u32 REGPARAM2 op_20fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(An)+ */
uae_u32 REGPARAM2 op_20fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=dstreg+8;
	 dont_care_flags();
	writelong(dsta,src);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,-(An) */
uae_u32 REGPARAM2 op_2100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,-(An) */
uae_u32 REGPARAM2 op_2108_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(srcreg==(uae_s32)dstreg){
		src=alloc_scratch();
		mov_l_rr(src,srcreg+8);
	}
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),-(An) */
uae_u32 REGPARAM2 op_2110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,-(An) */
uae_u32 REGPARAM2 op_2118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),-(An) */
uae_u32 REGPARAM2 op_2120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),-(An) */
uae_u32 REGPARAM2 op_2128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),-(An) */
uae_u32 REGPARAM2 op_2130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,-(An) */
uae_u32 REGPARAM2 op_2138_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,-(An) */
uae_u32 REGPARAM2 op_2139_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),-(An) */
uae_u32 REGPARAM2 op_213a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),-(An) */
uae_u32 REGPARAM2 op_213b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,-(An) */
uae_u32 REGPARAM2 op_213c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_2140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(d16,An) */
uae_u32 REGPARAM2 op_2148_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(d16,An) */
uae_u32 REGPARAM2 op_2150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(d16,An) */
uae_u32 REGPARAM2 op_2158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(d16,An) */
uae_u32 REGPARAM2 op_2160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(d16,An) */
uae_u32 REGPARAM2 op_2168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(d16,An) */
uae_u32 REGPARAM2 op_2170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(d16,An) */
uae_u32 REGPARAM2 op_2178_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(d16,An) */
uae_u32 REGPARAM2 op_2179_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(d16,An) */
uae_u32 REGPARAM2 op_217a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(d16,An) */
uae_u32 REGPARAM2 op_217b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(d16,An) */
uae_u32 REGPARAM2 op_217c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_2180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(d8,An,Xn) */
uae_u32 REGPARAM2 op_2188_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_2190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_3
/* MOVE.L (An)+,(d8,An,Xn) */
uae_u32 REGPARAM2 op_2198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_21b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_21b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_21bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_21bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_21c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(xxx).W */
uae_u32 REGPARAM2 op_21c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(xxx).W */
uae_u32 REGPARAM2 op_21d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(xxx).W */
uae_u32 REGPARAM2 op_21d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(xxx).W */
uae_u32 REGPARAM2 op_21e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(xxx).W */
uae_u32 REGPARAM2 op_21e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(xxx).W */
uae_u32 REGPARAM2 op_21f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(xxx).W */
uae_u32 REGPARAM2 op_21f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(xxx).W */
uae_u32 REGPARAM2 op_21f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(xxx).W */
uae_u32 REGPARAM2 op_21fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(xxx).W */
uae_u32 REGPARAM2 op_21fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(xxx).W */
uae_u32 REGPARAM2 op_21fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_23c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L An,(xxx).L */
uae_u32 REGPARAM2 op_23c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An),(xxx).L */
uae_u32 REGPARAM2 op_23d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (An)+,(xxx).L */
uae_u32 REGPARAM2 op_23d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L -(An),(xxx).L */
uae_u32 REGPARAM2 op_23e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,An),(xxx).L */
uae_u32 REGPARAM2 op_23e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,An,Xn),(xxx).L */
uae_u32 REGPARAM2 op_23f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).W,(xxx).L */
uae_u32 REGPARAM2 op_23f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (xxx).L,(xxx).L */
uae_u32 REGPARAM2 op_23f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d16,PC),(xxx).L */
uae_u32 REGPARAM2 op_23fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L (d8,PC,Xn),(xxx).L */
uae_u32 REGPARAM2 op_23fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.L #<data>.L,(xxx).L */
uae_u32 REGPARAM2 op_23fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writelong(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,Dn */
uae_u32 REGPARAM2 op_3000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,Dn */
uae_u32 REGPARAM2 op_3008_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),Dn */
uae_u32 REGPARAM2 op_3010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,Dn */
uae_u32 REGPARAM2 op_3018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),Dn */
uae_u32 REGPARAM2 op_3020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),Dn */
uae_u32 REGPARAM2 op_3028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_3030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_3038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_3039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_303a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_303b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_303c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W Dn,An */
uae_u32 REGPARAM2 op_3040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W An,An */
uae_u32 REGPARAM2 op_3048_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (An),An */
uae_u32 REGPARAM2 op_3050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (An)+,An */
uae_u32 REGPARAM2 op_3058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W -(An),An */
uae_u32 REGPARAM2 op_3060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (d16,An),An */
uae_u32 REGPARAM2 op_3068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (d8,An,Xn),An */
uae_u32 REGPARAM2 op_3070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (xxx).W,An */
uae_u32 REGPARAM2 op_3078_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (xxx).L,An */
uae_u32 REGPARAM2 op_3079_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (d16,PC),An */
uae_u32 REGPARAM2 op_307a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_307b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEA.W #<data>.W,An */
uae_u32 REGPARAM2 op_307c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg+8;
	 jnf_MOVEA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(An) */
uae_u32 REGPARAM2 op_3080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(An) */
uae_u32 REGPARAM2 op_3088_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(An) */
uae_u32 REGPARAM2 op_3090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(An) */
uae_u32 REGPARAM2 op_3098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(An) */
uae_u32 REGPARAM2 op_30a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(An) */
uae_u32 REGPARAM2 op_30a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(An) */
uae_u32 REGPARAM2 op_30b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(An) */
uae_u32 REGPARAM2 op_30b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(An) */
uae_u32 REGPARAM2 op_30b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(An) */
uae_u32 REGPARAM2 op_30ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(An) */
uae_u32 REGPARAM2 op_30bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_30bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(An)+ */
uae_u32 REGPARAM2 op_30c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(An)+ */
uae_u32 REGPARAM2 op_30c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(srcreg==(uae_s32)dstreg){
		src=alloc_scratch();
		mov_l_rr(src,srcreg+8);
	}
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(An)+ */
uae_u32 REGPARAM2 op_30d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(An)+ */
uae_u32 REGPARAM2 op_30d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(An)+ */
uae_u32 REGPARAM2 op_30e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(An)+ */
uae_u32 REGPARAM2 op_30e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(An)+ */
uae_u32 REGPARAM2 op_30f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(An)+ */
uae_u32 REGPARAM2 op_30f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(An)+ */
uae_u32 REGPARAM2 op_30f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(An)+ */
uae_u32 REGPARAM2 op_30fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(An)+ */
uae_u32 REGPARAM2 op_30fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_30fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	 dont_care_flags();
	writeword(dsta,src);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,-(An) */
uae_u32 REGPARAM2 op_3100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,-(An) */
uae_u32 REGPARAM2 op_3108_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(srcreg==(uae_s32)dstreg){
		src=alloc_scratch();
		mov_l_rr(src,srcreg+8);
	}
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),-(An) */
uae_u32 REGPARAM2 op_3110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,-(An) */
uae_u32 REGPARAM2 op_3118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),-(An) */
uae_u32 REGPARAM2 op_3120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),-(An) */
uae_u32 REGPARAM2 op_3128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),-(An) */
uae_u32 REGPARAM2 op_3130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,-(An) */
uae_u32 REGPARAM2 op_3138_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,-(An) */
uae_u32 REGPARAM2 op_3139_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),-(An) */
uae_u32 REGPARAM2 op_313a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),-(An) */
uae_u32 REGPARAM2 op_313b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_313c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_3140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(d16,An) */
uae_u32 REGPARAM2 op_3148_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(d16,An) */
uae_u32 REGPARAM2 op_3150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(d16,An) */
uae_u32 REGPARAM2 op_3158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(d16,An) */
uae_u32 REGPARAM2 op_3160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(d16,An) */
uae_u32 REGPARAM2 op_3168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(d16,An) */
uae_u32 REGPARAM2 op_3170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(d16,An) */
uae_u32 REGPARAM2 op_3178_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(d16,An) */
uae_u32 REGPARAM2 op_3179_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(d16,An) */
uae_u32 REGPARAM2 op_317a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(d16,An) */
uae_u32 REGPARAM2 op_317b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_317c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_3180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(d8,An,Xn) */
uae_u32 REGPARAM2 op_3188_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_3190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(d8,An,Xn) */
uae_u32 REGPARAM2 op_3198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_31b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(d8,An,Xn) */
uae_u32 REGPARAM2 op_31b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(d8,An,Xn) */
uae_u32 REGPARAM2 op_31bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_31bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_31c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(xxx).W */
uae_u32 REGPARAM2 op_31c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(xxx).W */
uae_u32 REGPARAM2 op_31d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(xxx).W */
uae_u32 REGPARAM2 op_31d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(xxx).W */
uae_u32 REGPARAM2 op_31e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(xxx).W */
uae_u32 REGPARAM2 op_31e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(xxx).W */
uae_u32 REGPARAM2 op_31f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(xxx).W */
uae_u32 REGPARAM2 op_31f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(xxx).W */
uae_u32 REGPARAM2 op_31f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(xxx).W */
uae_u32 REGPARAM2 op_31fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(xxx).W */
uae_u32 REGPARAM2 op_31fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_31fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_33c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W An,(xxx).L */
uae_u32 REGPARAM2 op_33c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An),(xxx).L */
uae_u32 REGPARAM2 op_33d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (An)+,(xxx).L */
uae_u32 REGPARAM2 op_33d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W -(An),(xxx).L */
uae_u32 REGPARAM2 op_33e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,An),(xxx).L */
uae_u32 REGPARAM2 op_33e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,An,Xn),(xxx).L */
uae_u32 REGPARAM2 op_33f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).W,(xxx).L */
uae_u32 REGPARAM2 op_33f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (xxx).L,(xxx).L */
uae_u32 REGPARAM2 op_33f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d16,PC),(xxx).L */
uae_u32 REGPARAM2 op_33fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W (d8,PC,Xn),(xxx).L */
uae_u32 REGPARAM2 op_33fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	release_scratch(srca);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVE.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_33fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 dont_care_flags();
	writeword(dsta,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B Dn */
uae_u32 REGPARAM2 op_4000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jnf_NEGX_b(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (An) */
uae_u32 REGPARAM2 op_4010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEGX_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (An)+ */
uae_u32 REGPARAM2 op_4018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEGX_b(src);
	writebyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B -(An) */
uae_u32 REGPARAM2 op_4020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEGX_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (d16,An) */
uae_u32 REGPARAM2 op_4028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEGX_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEGX_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (xxx).W */
uae_u32 REGPARAM2 op_4038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEGX_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.B (xxx).L */
uae_u32 REGPARAM2 op_4039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEGX_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W Dn */
uae_u32 REGPARAM2 op_4040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jnf_NEGX_w(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (An) */
uae_u32 REGPARAM2 op_4050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEGX_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (An)+ */
uae_u32 REGPARAM2 op_4058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEGX_w(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W -(An) */
uae_u32 REGPARAM2 op_4060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEGX_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (d16,An) */
uae_u32 REGPARAM2 op_4068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEGX_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEGX_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (xxx).W */
uae_u32 REGPARAM2 op_4078_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEGX_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.W (xxx).L */
uae_u32 REGPARAM2 op_4079_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEGX_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L Dn */
uae_u32 REGPARAM2 op_4080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jnf_NEGX_l(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (An) */
uae_u32 REGPARAM2 op_4090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEGX_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (An)+ */
uae_u32 REGPARAM2 op_4098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEGX_l(src);
	writelong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L -(An) */
uae_u32 REGPARAM2 op_40a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEGX_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (d16,An) */
uae_u32 REGPARAM2 op_40a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEGX_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_40b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEGX_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (xxx).W */
uae_u32 REGPARAM2 op_40b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEGX_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEGX.L (xxx).L */
uae_u32 REGPARAM2 op_40b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEGX_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (An),An */
uae_u32 REGPARAM2 op_41d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (d16,An),An */
uae_u32 REGPARAM2 op_41e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_41f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (xxx).W,An */
uae_u32 REGPARAM2 op_41f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (xxx).L,An */
uae_u32 REGPARAM2 op_41f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (d16,PC),An */
uae_u32 REGPARAM2 op_41fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LEA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_41fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int dst=dstreg+8;
	if(dstreg+8!=srca)
		mov_l_rr(dstreg+8,srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B Dn */
uae_u32 REGPARAM2 op_4200_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_CLR_b(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (An) */
uae_u32 REGPARAM2 op_4210_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (An)+ */
uae_u32 REGPARAM2 op_4218_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_b(src);
	writebyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B -(An) */
uae_u32 REGPARAM2 op_4220_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (d16,An) */
uae_u32 REGPARAM2 op_4228_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4230_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (xxx).W */
uae_u32 REGPARAM2 op_4238_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.B (xxx).L */
uae_u32 REGPARAM2 op_4239_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W Dn */
uae_u32 REGPARAM2 op_4240_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_CLR_w(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (An) */
uae_u32 REGPARAM2 op_4250_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (An)+ */
uae_u32 REGPARAM2 op_4258_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_w(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W -(An) */
uae_u32 REGPARAM2 op_4260_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (d16,An) */
uae_u32 REGPARAM2 op_4268_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4270_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (xxx).W */
uae_u32 REGPARAM2 op_4278_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.W (xxx).L */
uae_u32 REGPARAM2 op_4279_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L Dn */
uae_u32 REGPARAM2 op_4280_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_CLR_l(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (An) */
uae_u32 REGPARAM2 op_4290_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (An)+ */
uae_u32 REGPARAM2 op_4298_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_l(src);
	writelong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L -(An) */
uae_u32 REGPARAM2 op_42a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (d16,An) */
uae_u32 REGPARAM2 op_42a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_42b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (xxx).W */
uae_u32 REGPARAM2 op_42b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CLR.L (xxx).L */
uae_u32 REGPARAM2 op_42b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 int src=alloc_scratch();
	 dont_care_flags();
	 jnf_CLR_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_4
/* NEG.B Dn */
uae_u32 REGPARAM2 op_4400_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jnf_NEG_b(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (An) */
uae_u32 REGPARAM2 op_4410_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEG_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (An)+ */
uae_u32 REGPARAM2 op_4418_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEG_b(src);
	writebyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B -(An) */
uae_u32 REGPARAM2 op_4420_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEG_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (d16,An) */
uae_u32 REGPARAM2 op_4428_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEG_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4430_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEG_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (xxx).W */
uae_u32 REGPARAM2 op_4438_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEG_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.B (xxx).L */
uae_u32 REGPARAM2 op_4439_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	 jnf_NEG_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W Dn */
uae_u32 REGPARAM2 op_4440_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jnf_NEG_w(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (An) */
uae_u32 REGPARAM2 op_4450_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEG_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (An)+ */
uae_u32 REGPARAM2 op_4458_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEG_w(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W -(An) */
uae_u32 REGPARAM2 op_4460_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEG_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (d16,An) */
uae_u32 REGPARAM2 op_4468_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEG_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4470_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEG_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (xxx).W */
uae_u32 REGPARAM2 op_4478_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEG_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.W (xxx).L */
uae_u32 REGPARAM2 op_4479_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_NEG_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L Dn */
uae_u32 REGPARAM2 op_4480_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 jnf_NEG_l(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (An) */
uae_u32 REGPARAM2 op_4490_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEG_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (An)+ */
uae_u32 REGPARAM2 op_4498_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEG_l(src);
	writelong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L -(An) */
uae_u32 REGPARAM2 op_44a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEG_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (d16,An) */
uae_u32 REGPARAM2 op_44a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEG_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_44b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEG_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (xxx).W */
uae_u32 REGPARAM2 op_44b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEG_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NEG.L (xxx).L */
uae_u32 REGPARAM2 op_44b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	 jnf_NEG_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B Dn */
uae_u32 REGPARAM2 op_4600_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_NOT_b(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (An) */
uae_u32 REGPARAM2 op_4610_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jnf_NOT_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (An)+ */
uae_u32 REGPARAM2 op_4618_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jnf_NOT_b(src);
	writebyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B -(An) */
uae_u32 REGPARAM2 op_4620_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jnf_NOT_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (d16,An) */
uae_u32 REGPARAM2 op_4628_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jnf_NOT_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4630_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jnf_NOT_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (xxx).W */
uae_u32 REGPARAM2 op_4638_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jnf_NOT_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.B (xxx).L */
uae_u32 REGPARAM2 op_4639_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 jnf_NOT_b(src);
	writebyte(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W Dn */
uae_u32 REGPARAM2 op_4640_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_NOT_w(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (An) */
uae_u32 REGPARAM2 op_4650_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jnf_NOT_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (An)+ */
uae_u32 REGPARAM2 op_4658_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jnf_NOT_w(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W -(An) */
uae_u32 REGPARAM2 op_4660_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jnf_NOT_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (d16,An) */
uae_u32 REGPARAM2 op_4668_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jnf_NOT_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4670_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jnf_NOT_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (xxx).W */
uae_u32 REGPARAM2 op_4678_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jnf_NOT_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.W (xxx).L */
uae_u32 REGPARAM2 op_4679_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 jnf_NOT_w(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L Dn */
uae_u32 REGPARAM2 op_4680_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_NOT_l(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (An) */
uae_u32 REGPARAM2 op_4690_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jnf_NOT_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (An)+ */
uae_u32 REGPARAM2 op_4698_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jnf_NOT_l(src);
	writelong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L -(An) */
uae_u32 REGPARAM2 op_46a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jnf_NOT_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (d16,An) */
uae_u32 REGPARAM2 op_46a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jnf_NOT_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_46b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jnf_NOT_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (xxx).W */
uae_u32 REGPARAM2 op_46b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jnf_NOT_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOT.L (xxx).L */
uae_u32 REGPARAM2 op_46b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 jnf_NOT_l(src);
	writelong(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LINK.L An,#<data>.L */
uae_u32 REGPARAM2 op_4808_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	if (srcreg==7) dodgy=1;
	int src=dodgy?alloc_scratch():srcreg+8;
	if (dodgy) 
		mov_l_rr(src,srcreg+8);
	uae_s32 offs=comp_get_ilong((m68k_pc_offset+=4)-4); /* absl */
	sub_l_ri(15,4);
	writelong_clobber(15,src);
	if(!dodgy)
		mov_l_rr(src,15);
	arm_ADD_l_ri(15,offs);
	if(srcreg+8!=src)
		mov_l_rr(srcreg+8,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SWAP.W Dn */
uae_u32 REGPARAM2 op_4840_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_SWAP(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (An) */
uae_u32 REGPARAM2 op_4850_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
if (srcreg==7) dodgy=1;
	int srca=dodgy?alloc_scratch():srcreg+8;
	if (dodgy) 
		mov_l_rr(srca,srcreg+8);
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (d16,An) */
uae_u32 REGPARAM2 op_4868_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
if (srcreg==7) dodgy=1;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_4870_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
if (srcreg==7) dodgy=1;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (xxx).W */
uae_u32 REGPARAM2 op_4878_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (xxx).L */
uae_u32 REGPARAM2 op_4879_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (d16,PC) */
uae_u32 REGPARAM2 op_487a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* PEA.L (d8,PC,Xn) */
uae_u32 REGPARAM2 op_487b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
{	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
{	int dsta=dodgy?alloc_scratch():7+8;
	arm_SUB_l_ri8(7+8,4);
	if (dodgy) 
	mov_l_rr(dsta,8+7);
	writelong(dsta,srca);
}}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXT.W Dn */
uae_u32 REGPARAM2 op_4880_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_EXT_w(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_4890_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,-(An) */
uae_u32 REGPARAM2 op_48a0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			offset-=2;
			jnf_MVMLE_w(native,15-i,offset);
		}
	}
			lea_l_brr(8+dstreg,srca,(uae_s32)offset);
	} else {
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			arm_SUB_l_ri8(srca,2);
			writeword(srca,15-i);
		}
	}			mov_l_rr(8+dstreg,srca);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_48a8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_48b0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_48b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_48b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_w(native,i,offset);
			offset+=2;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writeword(tmp,i);
			arm_ADD_l_ri8(tmp,2);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXT.L Dn */
uae_u32 REGPARAM2 op_48c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_EXT_l(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_48d0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_48e0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			offset-=4;
			jnf_MVMLE_l(native,15-i,offset);
		}
	}
			lea_l_brr(8+dstreg,srca,(uae_s32)offset);
	} else {
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			arm_SUB_l_ri8(srca,4);
			writelong(srca,15-i);
		}
	}			mov_l_rr(8+dstreg,srca);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_48e8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_48f0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_48f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMLE.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_48f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMLE_l(native,i,offset);
			offset+=4;
		}
	}
	} else {
	int tmp=alloc_scratch();
	mov_l_rr(tmp,srca);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			writelong(tmp,i);
			arm_ADD_l_ri8(tmp,4);
		}
	}	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXT.B Dn */
uae_u32 REGPARAM2 op_49c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 jnf_EXT_b(src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B Dn */
uae_u32 REGPARAM2 op_4a00_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (An) */
uae_u32 REGPARAM2 op_4a10_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (An)+ */
uae_u32 REGPARAM2 op_4a18_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B -(An) */
uae_u32 REGPARAM2 op_4a20_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (d16,An) */
uae_u32 REGPARAM2 op_4a28_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_4a30_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (xxx).W */
uae_u32 REGPARAM2 op_4a38_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (xxx).L */
uae_u32 REGPARAM2 op_4a39_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (d16,PC) */
uae_u32 REGPARAM2 op_4a3a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4a3b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.B #<data>.B */
uae_u32 REGPARAM2 op_4a3c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W Dn */
uae_u32 REGPARAM2 op_4a40_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W An */
uae_u32 REGPARAM2 op_4a48_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (An) */
uae_u32 REGPARAM2 op_4a50_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (An)+ */
uae_u32 REGPARAM2 op_4a58_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W -(An) */
uae_u32 REGPARAM2 op_4a60_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (d16,An) */
uae_u32 REGPARAM2 op_4a68_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_4a70_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (xxx).W */
uae_u32 REGPARAM2 op_4a78_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (xxx).L */
uae_u32 REGPARAM2 op_4a79_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (d16,PC) */
uae_u32 REGPARAM2 op_4a7a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4a7b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.W #<data>.W */
uae_u32 REGPARAM2 op_4a7c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L Dn */
uae_u32 REGPARAM2 op_4a80_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L An */
uae_u32 REGPARAM2 op_4a88_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (An) */
uae_u32 REGPARAM2 op_4a90_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (An)+ */
uae_u32 REGPARAM2 op_4a98_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	arm_ADD_l_ri8(srcreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L -(An) */
uae_u32 REGPARAM2 op_4aa0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (d16,An) */
uae_u32 REGPARAM2 op_4aa8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_4ab0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (xxx).W */
uae_u32 REGPARAM2 op_4ab8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (xxx).L */
uae_u32 REGPARAM2 op_4ab9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (d16,PC) */
uae_u32 REGPARAM2 op_4aba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4abb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* TST.L #<data>.L */
uae_u32 REGPARAM2 op_4abc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	 dont_care_flags();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_4c00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dst=dstreg;
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_4c10_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_4c18_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_4c20_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_4c28_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4c30_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_4c38_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_4c39_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_4c3a_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_4c3b_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULL.L #<data>.W,#<data>.L */
uae_u32 REGPARAM2 op_4c3c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	int dst=alloc_scratch();
	mov_l_ri(dst,comp_get_ilong((m68k_pc_offset+=4)-4));
	 if (extra & 0x0400) {
	   int r3=(extra & 7);
	   mov_l_rr(r3,dst);
	   if (extra & 0x0800) { 
			  jnf_MULS64(r2,r3);
		} else { 
			  jnf_MULU64(r2,r3);
		} 
	 } else {
	   if (extra & 0x0800) { 
	     jnf_MULS32(r2,dst);
		} else { 
			  jnf_MULU32(r2,dst);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DIVL.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_4c40_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dst=dstreg;
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_4c50_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_4c58_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_4c60_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_4c68_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4c70_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_4c78_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_4c79_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_4c7a_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(dsta,address+PC16off);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_4c7b_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dsta=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	release_scratch(pctmp);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVL.L #<data>.W,#<data>.L */
uae_u32 REGPARAM2 op_4c7c_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	 uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	 int r2=(extra>>12)&7;
	 int r3=extra&7;
	int dst=alloc_scratch();
	mov_l_ri(dst,comp_get_ilong((m68k_pc_offset+=4)-4));
	register_possible_exception();
	 if (extra & 0x0400) {
	   FAIL(1);
	   m68k_pc_offset=m68k_pc_offset_thisinst;
	  return 0;
	 } else {
	   if (extra & 0x0800) { 
	     jnf_DIVLS32(r2,dst,r3);
		} else { 
			  jnf_DIVLU32(r2,dst,r3);
		} 
	 }
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* MVMEL.W #<data>.W,(An) */
uae_u32 REGPARAM2 op_4c90_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_4c98_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			if(srca != i)
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}			jnf_ADD_im8(8+dstreg,srca,offset);
	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
		mov_l_rr(8+dstreg,tmp);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_4ca8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4cb0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_4cb8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_4cb9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_4cba_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.W #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_4cbb_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_w(i,native,offset);
			offset+=2;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readword(tmp,i);
				arm_ADD_l_ri8(tmp,2);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_4cd0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_4cd8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=dstreg+8;
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			if(srca != i)
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}			jnf_ADD_im8(8+dstreg,srca,offset);
	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
		mov_l_rr(8+dstreg,tmp);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_4ce8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_4cf0_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_4cf8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_4cf9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_4cfa_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MVMEL.L #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_4cfb_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
	int i;
	signed char offset=0;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	if (!special_mem) {
	int native=alloc_scratch();
	get_n_addr(srca,native);
	for (i=0;i<16;i++) {
		if ((mask>>i)&1) {
			jnf_MVMEL_l(i,native,offset);
			offset+=4;
		}
	}	} else {
		int tmp=alloc_scratch();
		mov_l_rr(tmp,srca);
		for (i=0;i<16;i++) {
			if ((mask>>i)&1) {
				readlong(tmp,i);
				arm_ADD_l_ri8(tmp,4);
			}
		}
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LINK.W An,#<data>.W */
uae_u32 REGPARAM2 op_4e50_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int dodgy=0;
	if (srcreg==7) dodgy=1;
	int src=dodgy?alloc_scratch():srcreg+8;
	if (dodgy) 
		mov_l_rr(src,srcreg+8);
	uae_s32 offs=(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	sub_l_ri(15,4);
	writelong_clobber(15,src);
	if(!dodgy)
		mov_l_rr(src,15);
	arm_ADD_l_ri(15,offs);
	if(srcreg+8!=src)
		mov_l_rr(srcreg+8,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* UNLK.L An */
uae_u32 REGPARAM2 op_4e58_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	if(src==15){
		readlong(15,src);
	} else {
		mov_l_rr(15,src);
		readlong(15,src);
		arm_ADD_l_ri8(15,4);
	}
	if(srcreg+8!=src)
		mov_l_rr(srcreg+8,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* NOP.L  */
uae_u32 REGPARAM2 op_4e71_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RTD.L #<data>.W */
uae_u32 REGPARAM2 op_4e74_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 offs=(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	offs+=4;
{	int newad=alloc_scratch();
	readlong(15,newad);
	mov_l_mr((uintptr)&regs.pc,newad);
	get_n_addr_jmp(newad,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	arm_ADD_l_ri(15,offs);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RTS.L  */
uae_u32 REGPARAM2 op_4e75_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int newad=alloc_scratch();
	readlong(15,newad);
	mov_l_mr((uintptr)&regs.pc,newad);
	get_n_addr_jmp(newad,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	arm_ADD_l_ri8(15,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (An) */
uae_u32 REGPARAM2 op_4e90_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (d16,An) */
uae_u32 REGPARAM2 op_4ea8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_4eb0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (xxx).W */
uae_u32 REGPARAM2 op_4eb8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (xxx).L */
uae_u32 REGPARAM2 op_4eb9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (d16,PC) */
uae_u32 REGPARAM2 op_4eba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JSR.L (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4ebb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (An) */
uae_u32 REGPARAM2 op_4ed0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (d16,An) */
uae_u32 REGPARAM2 op_4ee8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (d8,An,Xn) */
uae_u32 REGPARAM2 op_4ef0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (xxx).W */
uae_u32 REGPARAM2 op_4ef8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (xxx).L */
uae_u32 REGPARAM2 op_4ef9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (d16,PC) */
uae_u32 REGPARAM2 op_4efa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* JMP.L (d8,PC,Xn) */
uae_u32 REGPARAM2 op_4efb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	mov_l_mr((uintptr)&regs.pc,srca);
	get_n_addr_jmp(srca,PC_P);
	mov_l_mr((uintptr)&regs.pc_oldp,PC_P);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_5000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(An) */
uae_u32 REGPARAM2 op_5010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(An)+ */
uae_u32 REGPARAM2 op_5018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,-(An) */
uae_u32 REGPARAM2 op_5020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(d16,An) */
uae_u32 REGPARAM2 op_5028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_5030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(xxx).W */
uae_u32 REGPARAM2 op_5038_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.B #<data>,(xxx).L */
uae_u32 REGPARAM2 op_5039_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_5040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDAQ.W #<data>,An */
uae_u32 REGPARAM2 op_5048_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg+8;
	 jnf_ADDA_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(An) */
uae_u32 REGPARAM2 op_5050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(An)+ */
uae_u32 REGPARAM2 op_5058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,-(An) */
uae_u32 REGPARAM2 op_5060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(d16,An) */
uae_u32 REGPARAM2 op_5068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_5070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(xxx).W */
uae_u32 REGPARAM2 op_5078_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.W #<data>,(xxx).L */
uae_u32 REGPARAM2 op_5079_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_5080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDAQ.L #<data>,An */
uae_u32 REGPARAM2 op_5088_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg+8;
	 jnf_ADDA_l_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(An) */
uae_u32 REGPARAM2 op_5090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_5
/* ADDQ.L #<data>,(An)+ */
uae_u32 REGPARAM2 op_5098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,-(An) */
uae_u32 REGPARAM2 op_50a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(d16,An) */
uae_u32 REGPARAM2 op_50a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_50b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(xxx).W */
uae_u32 REGPARAM2 op_50b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDQ.L #<data>,(xxx).L */
uae_u32 REGPARAM2 op_50b9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_50c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	mov_b_ri(srcreg, 0xff);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_50c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_50d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_50d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_50e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_50e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_50f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_50f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_50f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	mov_b_ri(val, 0xff);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_5100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(An) */
uae_u32 REGPARAM2 op_5110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(An)+ */
uae_u32 REGPARAM2 op_5118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,-(An) */
uae_u32 REGPARAM2 op_5120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(d16,An) */
uae_u32 REGPARAM2 op_5128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_5130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(xxx).W */
uae_u32 REGPARAM2 op_5138_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.B #<data>,(xxx).L */
uae_u32 REGPARAM2 op_5139_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_5140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBAQ.W #<data>,An */
uae_u32 REGPARAM2 op_5148_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg+8;
	 jnf_SUBA_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(An) */
uae_u32 REGPARAM2 op_5150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(An)+ */
uae_u32 REGPARAM2 op_5158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,-(An) */
uae_u32 REGPARAM2 op_5160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(d16,An) */
uae_u32 REGPARAM2 op_5168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_5170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(xxx).W */
uae_u32 REGPARAM2 op_5178_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.W #<data>,(xxx).L */
uae_u32 REGPARAM2 op_5179_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_5180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBAQ.L #<data>,An */
uae_u32 REGPARAM2 op_5188_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dst=dstreg+8;
	 jnf_SUBA_l_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(An) */
uae_u32 REGPARAM2 op_5190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(An)+ */
uae_u32 REGPARAM2 op_5198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,-(An) */
uae_u32 REGPARAM2 op_51a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(d16,An) */
uae_u32 REGPARAM2 op_51a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(d8,An,Xn) */
uae_u32 REGPARAM2 op_51b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(xxx).W */
uae_u32 REGPARAM2 op_51b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBQ.L #<data>,(xxx).L */
uae_u32 REGPARAM2 op_51b9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_51c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	mov_b_ri(srcreg, 0);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_51c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	sub_w_ri(src, 1);
	uae_u32 v2;
	uae_u32 v1=get_const(PC_P);
	v2=get_const(offs);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_51d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_51d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_51e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_51e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_51f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_51f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_51f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	mov_b_ri(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_52c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 8);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_52c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 8);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_52d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_52d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_52e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_52e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_52f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_52f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_52f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 8);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_53c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 9);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_53c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 9);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_53d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_53d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_53e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_53e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_53f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_53f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_53f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 9);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_54c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 3);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_54c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 3);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_54d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_54d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_54e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_54e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_54f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_54f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_54f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 3);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_55c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_55c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 2);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_55d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_55d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_55e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_55e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_55f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_55f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_55f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 2);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_56c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 1);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_56c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 1);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_56d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_56d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_56e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_56e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_56f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_56f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_56f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 1);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_57c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 0);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_57c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 0);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_57d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_57d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_57e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_57e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_57f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_57f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_57f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 0);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_58c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 7);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_58c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 7);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_58d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_58d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_58e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_58e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_58f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_58f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_58f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 7);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_59c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 6);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_59c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 6);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_59d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_59d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_59e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_59e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_59f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_59f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_59f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 6);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5ac0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 5);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5ac8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 5);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5ad0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5ad8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5ae0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5ae8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5af0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5af8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5af9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 5);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5bc0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5bc8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 4);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5bd0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5bd8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5be0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5be8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5bf0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5bf8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5bf9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 4);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5cc0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 10);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5cc8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 10);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5cd0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5cd8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5ce0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5ce8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5cf0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5cf8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5cf9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 10);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5dc0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 11);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5dc8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 11);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5dd0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5dd8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5de0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5de8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5df0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5df8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5df9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 11);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5ec0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 12);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5ec8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 12);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5ed0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5ed8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5ee0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5ee8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5ef0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5ef8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5ef9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 12);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B Dn */
uae_u32 REGPARAM2 op_5fc0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	make_flags_live();
	jnf_SCC(srcreg, 13);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DBcc.W Dn,#<data>.W */
uae_u32 REGPARAM2 op_5fc8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int offs=alloc_scratch();
	mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(offs, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(offs, (uintptr)comp_pc_p);
	arm_ADD_l_ri(offs, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset=0;
	make_flags_live();
	uae_u32 v1=get_const(PC_P);
	uae_u32 v2=get_const(offs);
	jff_DBCC(src, 13);
	register_branch(v1, v2, 2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An) */
uae_u32 REGPARAM2 op_5fd0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (An)+ */
uae_u32 REGPARAM2 op_5fd8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B -(An) */
uae_u32 REGPARAM2 op_5fe0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d16,An) */
uae_u32 REGPARAM2 op_5fe8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (d8,An,Xn) */
uae_u32 REGPARAM2 op_5ff0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).W */
uae_u32 REGPARAM2 op_5ff8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Scc.B (xxx).L */
uae_u32 REGPARAM2 op_5ff9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int val=alloc_scratch();
	make_flags_live();
	jnf_SCC(val, 13);
	writebyte(srca,val);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6000_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	mov_l_rr(PC_P, src);
	comp_pc_p = (uae_u8*)(uintptr)get_const(PC_P);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6001_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	mov_l_rr(PC_P, src);
	comp_pc_p = (uae_u8*)(uintptr)get_const(PC_P);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_60ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	mov_l_rr(PC_P, src);
	comp_pc_p = (uae_u8*)(uintptr)get_const(PC_P);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSR.W #<data>.W */
uae_u32 REGPARAM2 op_6100_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	arm_ADD_l_ri(src,m68k_pc_offset_thisinst+2);
	m68k_pc_offset=0;
	arm_ADD_l(PC_P,src);
	comp_pc_p=(uae_u8*)(uintptr)get_const(PC_P);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSRQ.B #<data> */
uae_u32 REGPARAM2 op_6101_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	arm_ADD_l_ri(src,m68k_pc_offset_thisinst+2);
	m68k_pc_offset=0;
	arm_ADD_l(PC_P,src);
	comp_pc_p=(uae_u8*)(uintptr)get_const(PC_P);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BSR.L #<data>.L */
uae_u32 REGPARAM2 op_61ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{	uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	int ret=alloc_scratch();
	mov_l_ri(ret,retadd);
	sub_l_ri(15,4);
	writelong_clobber(15,ret);
	arm_ADD_l_ri(src,m68k_pc_offset_thisinst+2);
	m68k_pc_offset=0;
	arm_ADD_l(PC_P,src);
	comp_pc_p=(uae_u8*)(uintptr)get_const(PC_P);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6200_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 8);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6201_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 8);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_62ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 8);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_6
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6300_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 9);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6301_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 9);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_63ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 9);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6400_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 3);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6401_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 3);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_64ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 3);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6500_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 2);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6501_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 2);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_65ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 2);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6600_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 1);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6601_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 1);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_66ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 1);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6700_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 0);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6701_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 0);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_67ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 0);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6800_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 7);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6801_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 7);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_68ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 7);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6900_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 6);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6901_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 6);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_69ff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 6);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6a00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 5);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6a01_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 5);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6aff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 5);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6b00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 4);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6b01_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 4);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6bff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 4);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6c00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 10);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6c01_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 10);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6cff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 10);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6d00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 11);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6d01_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 11);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6dff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 11);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6e00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 12);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6e01_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 12);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6eff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 12);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.W #<data>.W */
uae_u32 REGPARAM2 op_6f00_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 13);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BccQ.B #<data> */
uae_u32 REGPARAM2 op_6f01_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 13);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* Bcc.L #<data>.L */
uae_u32 REGPARAM2 op_6fff_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_u32 v1, v2;
	int src=alloc_scratch();
	mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
	sub_l_ri(src, m68k_pc_offset - m68k_pc_offset_thisinst - 2);
	arm_ADD_l_ri(src, (uintptr)comp_pc_p);
	mov_l_ri(PC_P, (uintptr)comp_pc_p);
	arm_ADD_l_ri(src, m68k_pc_offset);
	arm_ADD_l_ri(PC_P, m68k_pc_offset);
	m68k_pc_offset = 0;
	v1 = get_const(PC_P);
	v2 = get_const(src);
	register_branch(v1, v2, 13);
	make_flags_live();
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MOVEQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_7000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=alloc_scratch();
	mov_l_ri(src,srcreg);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_MOVE_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,Dn */
uae_u32 REGPARAM2 op_8000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (An),Dn */
uae_u32 REGPARAM2 op_8010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (An)+,Dn */
uae_u32 REGPARAM2 op_8018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B -(An),Dn */
uae_u32 REGPARAM2 op_8020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (d16,An),Dn */
uae_u32 REGPARAM2 op_8028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_8030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_8038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_8039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_803a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_803b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_803c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,Dn */
uae_u32 REGPARAM2 op_8040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (An),Dn */
uae_u32 REGPARAM2 op_8050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (An)+,Dn */
uae_u32 REGPARAM2 op_8058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W -(An),Dn */
uae_u32 REGPARAM2 op_8060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (d16,An),Dn */
uae_u32 REGPARAM2 op_8068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_8070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_8078_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_8079_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_807a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_807b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_807c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,Dn */
uae_u32 REGPARAM2 op_8080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (An),Dn */
uae_u32 REGPARAM2 op_8090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (An)+,Dn */
uae_u32 REGPARAM2 op_8098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L -(An),Dn */
uae_u32 REGPARAM2 op_80a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (d16,An),Dn */
uae_u32 REGPARAM2 op_80a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_80b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_80b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_80b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_80ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_80bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_80bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_OR_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DIVU.W Dn,Dn */
uae_u32 REGPARAM2 op_80c0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=srcreg;
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (An),Dn */
uae_u32 REGPARAM2 op_80d0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (An)+,Dn */
uae_u32 REGPARAM2 op_80d8_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W -(An),Dn */
uae_u32 REGPARAM2 op_80e0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (d16,An),Dn */
uae_u32 REGPARAM2 op_80e8_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_80f0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_80f8_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_80f9_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_80fa_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_80fb_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVU.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_80fc_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* OR.B Dn,(An) */
uae_u32 REGPARAM2 op_8110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(An)+ */
uae_u32 REGPARAM2 op_8118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,-(An) */
uae_u32 REGPARAM2 op_8120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_8128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_8130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_8138_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_8139_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_OR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(An) */
uae_u32 REGPARAM2 op_8150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(An)+ */
uae_u32 REGPARAM2 op_8158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,-(An) */
uae_u32 REGPARAM2 op_8160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_8168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_8170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_8178_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_8179_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_OR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(An) */
uae_u32 REGPARAM2 op_8190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(An)+ */
uae_u32 REGPARAM2 op_8198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,-(An) */
uae_u32 REGPARAM2 op_81a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_81a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_81b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_81b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* OR.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_81b9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_OR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* DIVS.W Dn,Dn */
uae_u32 REGPARAM2 op_81c0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=srcreg;
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (An),Dn */
uae_u32 REGPARAM2 op_81d0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (An)+,Dn */
uae_u32 REGPARAM2 op_81d8_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W -(An),Dn */
uae_u32 REGPARAM2 op_81e0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (d16,An),Dn */
uae_u32 REGPARAM2 op_81e8_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_81f0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_81f8_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_81f9_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_81fa_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_81fb_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* DIVS.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_81fc_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg;
	register_possible_exception();
	jnf_DIVS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* SUB.B Dn,Dn */
uae_u32 REGPARAM2 op_9000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (An),Dn */
uae_u32 REGPARAM2 op_9010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (An)+,Dn */
uae_u32 REGPARAM2 op_9018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B -(An),Dn */
uae_u32 REGPARAM2 op_9020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (d16,An),Dn */
uae_u32 REGPARAM2 op_9028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_9030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_9038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_9039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_903a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_903b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_903c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,Dn */
uae_u32 REGPARAM2 op_9040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W An,Dn */
uae_u32 REGPARAM2 op_9048_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (An),Dn */
uae_u32 REGPARAM2 op_9050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (An)+,Dn */
uae_u32 REGPARAM2 op_9058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W -(An),Dn */
uae_u32 REGPARAM2 op_9060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (d16,An),Dn */
uae_u32 REGPARAM2 op_9068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_9070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_9078_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_9079_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_907a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_907b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_907c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,Dn */
uae_u32 REGPARAM2 op_9080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L An,Dn */
uae_u32 REGPARAM2 op_9088_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (An),Dn */
uae_u32 REGPARAM2 op_9090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (An)+,Dn */
uae_u32 REGPARAM2 op_9098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L -(An),Dn */
uae_u32 REGPARAM2 op_90a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (d16,An),Dn */
uae_u32 REGPARAM2 op_90a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_90b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_90b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_90b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_90ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_90bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_90bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_SUB_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W Dn,An */
uae_u32 REGPARAM2 op_90c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W An,An */
uae_u32 REGPARAM2 op_90c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (An),An */
uae_u32 REGPARAM2 op_90d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (An)+,An */
uae_u32 REGPARAM2 op_90d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W -(An),An */
uae_u32 REGPARAM2 op_90e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (d16,An),An */
uae_u32 REGPARAM2 op_90e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (d8,An,Xn),An */
uae_u32 REGPARAM2 op_90f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (xxx).W,An */
uae_u32 REGPARAM2 op_90f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (xxx).L,An */
uae_u32 REGPARAM2 op_90f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (d16,PC),An */
uae_u32 REGPARAM2 op_90fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_90fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.W #<data>.W,An */
uae_u32 REGPARAM2 op_90fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg+8;
	 jnf_SUBA_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.B Dn,Dn */
uae_u32 REGPARAM2 op_9100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	dont_care_flags();
	 jnf_SUBX_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.B -(An),-(An) */
uae_u32 REGPARAM2 op_9108_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	dont_care_flags();
	 jnf_SUBX_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(An) */
uae_u32 REGPARAM2 op_9110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(An)+ */
uae_u32 REGPARAM2 op_9118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,-(An) */
uae_u32 REGPARAM2 op_9120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_9128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_9130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_9138_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_9139_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.W Dn,Dn */
uae_u32 REGPARAM2 op_9140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	dont_care_flags();
	 jnf_SUBX_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.W -(An),-(An) */
uae_u32 REGPARAM2 op_9148_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	dont_care_flags();
	 jnf_SUBX_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(An) */
uae_u32 REGPARAM2 op_9150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(An)+ */
uae_u32 REGPARAM2 op_9158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,-(An) */
uae_u32 REGPARAM2 op_9160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_9168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_9170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_9178_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_9179_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.L Dn,Dn */
uae_u32 REGPARAM2 op_9180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	dont_care_flags();
	 jnf_SUBX_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBX.L -(An),-(An) */
uae_u32 REGPARAM2 op_9188_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	dont_care_flags();
	 jnf_SUBX_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(An) */
uae_u32 REGPARAM2 op_9190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(An)+ */
uae_u32 REGPARAM2 op_9198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,-(An) */
uae_u32 REGPARAM2 op_91a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_91a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_91b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_91b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUB.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_91b9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_SUB_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L Dn,An */
uae_u32 REGPARAM2 op_91c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L An,An */
uae_u32 REGPARAM2 op_91c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (An),An */
uae_u32 REGPARAM2 op_91d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (An)+,An */
uae_u32 REGPARAM2 op_91d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L -(An),An */
uae_u32 REGPARAM2 op_91e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (d16,An),An */
uae_u32 REGPARAM2 op_91e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_91f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (xxx).W,An */
uae_u32 REGPARAM2 op_91f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (xxx).L,An */
uae_u32 REGPARAM2 op_91f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (d16,PC),An */
uae_u32 REGPARAM2 op_91fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_91fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_SUBA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* SUBA.L #<data>.L,An */
uae_u32 REGPARAM2 op_91fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg+8;
	 jnf_SUBA_l_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B Dn,Dn */
uae_u32 REGPARAM2 op_b000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (An),Dn */
uae_u32 REGPARAM2 op_b010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (An)+,Dn */
uae_u32 REGPARAM2 op_b018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B -(An),Dn */
uae_u32 REGPARAM2 op_b020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (d16,An),Dn */
uae_u32 REGPARAM2 op_b028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_b030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_b038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_b039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_b03a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_b03b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_b03c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W Dn,Dn */
uae_u32 REGPARAM2 op_b040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W An,Dn */
uae_u32 REGPARAM2 op_b048_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (An),Dn */
uae_u32 REGPARAM2 op_b050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (An)+,Dn */
uae_u32 REGPARAM2 op_b058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W -(An),Dn */
uae_u32 REGPARAM2 op_b060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (d16,An),Dn */
uae_u32 REGPARAM2 op_b068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_b070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_b078_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_b079_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_b07a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_b07b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_b07c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L Dn,Dn */
uae_u32 REGPARAM2 op_b080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L An,Dn */
uae_u32 REGPARAM2 op_b088_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (An),Dn */
uae_u32 REGPARAM2 op_b090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_7
/* CMP.L (An)+,Dn */
uae_u32 REGPARAM2 op_b098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L -(An),Dn */
uae_u32 REGPARAM2 op_b0a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (d16,An),Dn */
uae_u32 REGPARAM2 op_b0a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_b0b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_b0b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_b0b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_b0ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_b0bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMP.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_b0bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W Dn,An */
uae_u32 REGPARAM2 op_b0c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W An,An */
uae_u32 REGPARAM2 op_b0c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (An),An */
uae_u32 REGPARAM2 op_b0d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (An)+,An */
uae_u32 REGPARAM2 op_b0d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W -(An),An */
uae_u32 REGPARAM2 op_b0e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (d16,An),An */
uae_u32 REGPARAM2 op_b0e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (d8,An,Xn),An */
uae_u32 REGPARAM2 op_b0f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (xxx).W,An */
uae_u32 REGPARAM2 op_b0f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (xxx).L,An */
uae_u32 REGPARAM2 op_b0f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (d16,PC),An */
uae_u32 REGPARAM2 op_b0fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_b0fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.W #<data>.W,An */
uae_u32 REGPARAM2 op_b0fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,Dn */
uae_u32 REGPARAM2 op_b100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_EOR_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPM.B (An)+,(An)+ */
uae_u32 REGPARAM2 op_b108_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(An) */
uae_u32 REGPARAM2 op_b110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(An)+ */
uae_u32 REGPARAM2 op_b118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,-(An) */
uae_u32 REGPARAM2 op_b120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_b128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_b130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_b138_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_b139_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,Dn */
uae_u32 REGPARAM2 op_b140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_EOR_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPM.W (An)+,(An)+ */
uae_u32 REGPARAM2 op_b148_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(An) */
uae_u32 REGPARAM2 op_b150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(An)+ */
uae_u32 REGPARAM2 op_b158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,-(An) */
uae_u32 REGPARAM2 op_b160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_b168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_b170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_b178_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_b179_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,Dn */
uae_u32 REGPARAM2 op_b180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_EOR_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPM.L (An)+,(An)+ */
uae_u32 REGPARAM2 op_b188_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(An) */
uae_u32 REGPARAM2 op_b190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(An)+ */
uae_u32 REGPARAM2 op_b198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,-(An) */
uae_u32 REGPARAM2 op_b1a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_b1a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_b1b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_b1b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EOR.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_b1b9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_EOR_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L Dn,An */
uae_u32 REGPARAM2 op_b1c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L An,An */
uae_u32 REGPARAM2 op_b1c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (An),An */
uae_u32 REGPARAM2 op_b1d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (An)+,An */
uae_u32 REGPARAM2 op_b1d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L -(An),An */
uae_u32 REGPARAM2 op_b1e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (d16,An),An */
uae_u32 REGPARAM2 op_b1e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_b1f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (xxx).W,An */
uae_u32 REGPARAM2 op_b1f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (xxx).L,An */
uae_u32 REGPARAM2 op_b1f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (d16,PC),An */
uae_u32 REGPARAM2 op_b1fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_b1fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* CMPA.L #<data>.L,An */
uae_u32 REGPARAM2 op_b1fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg+8;
	dont_care_flags();
/* Weird --- CMP with noflags ;-) */
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,Dn */
uae_u32 REGPARAM2 op_c000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (An),Dn */
uae_u32 REGPARAM2 op_c010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (An)+,Dn */
uae_u32 REGPARAM2 op_c018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B -(An),Dn */
uae_u32 REGPARAM2 op_c020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (d16,An),Dn */
uae_u32 REGPARAM2 op_c028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_c038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_c039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_c03a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c03b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_c03c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,Dn */
uae_u32 REGPARAM2 op_c040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (An),Dn */
uae_u32 REGPARAM2 op_c050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (An)+,Dn */
uae_u32 REGPARAM2 op_c058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W -(An),Dn */
uae_u32 REGPARAM2 op_c060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (d16,An),Dn */
uae_u32 REGPARAM2 op_c068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_c078_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_c079_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_c07a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c07b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_c07c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,Dn */
uae_u32 REGPARAM2 op_c080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (An),Dn */
uae_u32 REGPARAM2 op_c090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (An)+,Dn */
uae_u32 REGPARAM2 op_c098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L -(An),Dn */
uae_u32 REGPARAM2 op_c0a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (d16,An),Dn */
uae_u32 REGPARAM2 op_c0a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c0b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_c0b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_c0b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_c0ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c0bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_c0bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_AND_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W Dn,Dn */
uae_u32 REGPARAM2 op_c0c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=srcreg;
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (An),Dn */
uae_u32 REGPARAM2 op_c0d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (An)+,Dn */
uae_u32 REGPARAM2 op_c0d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W -(An),Dn */
uae_u32 REGPARAM2 op_c0e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (d16,An),Dn */
uae_u32 REGPARAM2 op_c0e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c0f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_c0f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_c0f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_c0fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c0fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULU.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_c0fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg;
	 jnf_MULU(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(An) */
uae_u32 REGPARAM2 op_c110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(An)+ */
uae_u32 REGPARAM2 op_c118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,-(An) */
uae_u32 REGPARAM2 op_c120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_c128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_c138_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_c139_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_AND_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXG.L Dn,Dn */
uae_u32 REGPARAM2 op_c140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	int tmp=alloc_scratch();
	mov_l_rr(tmp,src);
	if(srcreg!=dst)
		mov_l_rr(srcreg,dst);
	if(dstreg!=tmp)
		mov_l_rr(dstreg,tmp);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXG.L An,An */
uae_u32 REGPARAM2 op_c148_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	int tmp=alloc_scratch();
	mov_l_rr(tmp,src);
	if(srcreg+8!=dst)
		mov_l_rr(srcreg+8,dst);
	if(dstreg+8!=tmp)
		mov_l_rr(dstreg+8,tmp);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(An) */
uae_u32 REGPARAM2 op_c150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(An)+ */
uae_u32 REGPARAM2 op_c158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,-(An) */
uae_u32 REGPARAM2 op_c160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_c168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_c178_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_c179_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_AND_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* EXG.L Dn,An */
uae_u32 REGPARAM2 op_c188_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	int tmp=alloc_scratch();
	mov_l_rr(tmp,src);
	if(srcreg!=dst)
		mov_l_rr(srcreg,dst);
	if(dstreg+8!=tmp)
		mov_l_rr(dstreg+8,tmp);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(An) */
uae_u32 REGPARAM2 op_c190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(An)+ */
uae_u32 REGPARAM2 op_c198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,-(An) */
uae_u32 REGPARAM2 op_c1a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_c1a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_c1b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_c1b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* AND.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_c1b9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_AND_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W Dn,Dn */
uae_u32 REGPARAM2 op_c1c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=srcreg;
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (An),Dn */
uae_u32 REGPARAM2 op_c1d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (An)+,Dn */
uae_u32 REGPARAM2 op_c1d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W -(An),Dn */
uae_u32 REGPARAM2 op_c1e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (d16,An),Dn */
uae_u32 REGPARAM2 op_c1e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_c1f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_c1f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_c1f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_c1fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_c1fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* MULS.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_c1fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int src=alloc_scratch();
	mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=dstreg;
	 jnf_MULS(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,Dn */
uae_u32 REGPARAM2 op_d000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (An),Dn */
uae_u32 REGPARAM2 op_d010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (An)+,Dn */
uae_u32 REGPARAM2 op_d018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readbyte(srca,src);
	arm_ADD_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B -(An),Dn */
uae_u32 REGPARAM2 op_d020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (d16,An),Dn */
uae_u32 REGPARAM2 op_d028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_d030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (xxx).W,Dn */
uae_u32 REGPARAM2 op_d038_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (xxx).L,Dn */
uae_u32 REGPARAM2 op_d039_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (d16,PC),Dn */
uae_u32 REGPARAM2 op_d03a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_d03b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B #<data>.B,Dn */
uae_u32 REGPARAM2 op_d03c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_b_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,Dn */
uae_u32 REGPARAM2 op_d040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W An,Dn */
uae_u32 REGPARAM2 op_d048_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (An),Dn */
uae_u32 REGPARAM2 op_d050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (An)+,Dn */
uae_u32 REGPARAM2 op_d058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W -(An),Dn */
uae_u32 REGPARAM2 op_d060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (d16,An),Dn */
uae_u32 REGPARAM2 op_d068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_d070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (xxx).W,Dn */
uae_u32 REGPARAM2 op_d078_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (xxx).L,Dn */
uae_u32 REGPARAM2 op_d079_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (d16,PC),Dn */
uae_u32 REGPARAM2 op_d07a_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_d07b_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W #<data>.W,Dn */
uae_u32 REGPARAM2 op_d07c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_w_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,Dn */
uae_u32 REGPARAM2 op_d080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L An,Dn */
uae_u32 REGPARAM2 op_d088_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (An),Dn */
uae_u32 REGPARAM2 op_d090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (An)+,Dn */
uae_u32 REGPARAM2 op_d098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L -(An),Dn */
uae_u32 REGPARAM2 op_d0a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (d16,An),Dn */
uae_u32 REGPARAM2 op_d0a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (d8,An,Xn),Dn */
uae_u32 REGPARAM2 op_d0b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (xxx).W,Dn */
uae_u32 REGPARAM2 op_d0b8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (xxx).L,Dn */
uae_u32 REGPARAM2 op_d0b9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (d16,PC),Dn */
uae_u32 REGPARAM2 op_d0ba_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L (d8,PC,Xn),Dn */
uae_u32 REGPARAM2 op_d0bb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L #<data>.L,Dn */
uae_u32 REGPARAM2 op_d0bc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADD_l_imm(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W Dn,An */
uae_u32 REGPARAM2 op_d0c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W An,An */
uae_u32 REGPARAM2 op_d0c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (An),An */
uae_u32 REGPARAM2 op_d0d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (An)+,An */
uae_u32 REGPARAM2 op_d0d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W -(An),An */
uae_u32 REGPARAM2 op_d0e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (d16,An),An */
uae_u32 REGPARAM2 op_d0e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (d8,An,Xn),An */
uae_u32 REGPARAM2 op_d0f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (xxx).W,An */
uae_u32 REGPARAM2 op_d0f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (xxx).L,An */
uae_u32 REGPARAM2 op_d0f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (d16,PC),An */
uae_u32 REGPARAM2 op_d0fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_d0fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readword(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_w(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.W #<data>.W,An */
uae_u32 REGPARAM2 op_d0fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	int dst=dstreg+8;
	 jnf_ADDA_w_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.B Dn,Dn */
uae_u32 REGPARAM2 op_d100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADDX_b(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.B -(An),-(An) */
uae_u32 REGPARAM2 op_d108_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,areg_byteinc[srcreg]);
	int src=alloc_scratch();
	readbyte(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADDX_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(An) */
uae_u32 REGPARAM2 op_d110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(An)+ */
uae_u32 REGPARAM2 op_d118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	writebyte(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,-(An) */
uae_u32 REGPARAM2 op_d120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,areg_byteinc[dstreg]);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(d16,An) */
uae_u32 REGPARAM2 op_d128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_d130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(xxx).W */
uae_u32 REGPARAM2 op_d138_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.B Dn,(xxx).L */
uae_u32 REGPARAM2 op_d139_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readbyte(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_b(dst,src);
	writebyte(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.W Dn,Dn */
uae_u32 REGPARAM2 op_d140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADDX_w(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.W -(An),-(An) */
uae_u32 REGPARAM2 op_d148_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADDX_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(An) */
uae_u32 REGPARAM2 op_d150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(An)+ */
uae_u32 REGPARAM2 op_d158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	writeword(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,-(An) */
uae_u32 REGPARAM2 op_d160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,2);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(d16,An) */
uae_u32 REGPARAM2 op_d168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_d170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(xxx).W */
uae_u32 REGPARAM2 op_d178_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.W Dn,(xxx).L */
uae_u32 REGPARAM2 op_d179_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readword(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_w(dst,src);
	writeword(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.L Dn,Dn */
uae_u32 REGPARAM2 op_d180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg;
	 dont_care_flags();
	 jnf_ADDX_l(dst,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDX.L -(An),-(An) */
uae_u32 REGPARAM2 op_d188_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADDX_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(An) */
uae_u32 REGPARAM2 op_d190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(An)+ */
uae_u32 REGPARAM2 op_d198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	writelong(dsta,dst);
	arm_ADD_l_ri8(dstreg+8,4);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,-(An) */
uae_u32 REGPARAM2 op_d1a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=dstreg+8;
	arm_SUB_l_ri8(dstreg+8,4);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(d16,An) */
uae_u32 REGPARAM2 op_d1a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(d8,An,Xn) */
uae_u32 REGPARAM2 op_d1b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(xxx).W */
uae_u32 REGPARAM2 op_d1b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADD.L Dn,(xxx).L */
uae_u32 REGPARAM2 op_d1b9_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dst=alloc_scratch();
	readlong(dsta,dst);
	 dont_care_flags();
	 jnf_ADD_l(dst,src);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L Dn,An */
uae_u32 REGPARAM2 op_d1c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg;
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L An,An */
uae_u32 REGPARAM2 op_d1c8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int src=srcreg+8;
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (An),An */
uae_u32 REGPARAM2 op_d1d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (An)+,An */
uae_u32 REGPARAM2 op_d1d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	int src=alloc_scratch();
	readlong(srca,src);
	arm_ADD_l_ri8(srcreg+8,4);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L -(An),An */
uae_u32 REGPARAM2 op_d1e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,4);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (d16,An),An */
uae_u32 REGPARAM2 op_d1e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (d8,An,Xn),An */
uae_u32 REGPARAM2 op_d1f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (xxx).W,An */
uae_u32 REGPARAM2 op_d1f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (xxx).L,An */
uae_u32 REGPARAM2 op_d1f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (d16,PC),An */
uae_u32 REGPARAM2 op_d1fa_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	uae_s32 PC16off = (uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2);
	mov_l_ri(srca,address+PC16off);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L (d8,PC,Xn),An */
uae_u32 REGPARAM2 op_d1fb_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	int srca=alloc_scratch();
	int pctmp=alloc_scratch();
	uae_u32 address=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
	mov_l_ri(pctmp,address);
	calc_disp_ea_020(pctmp,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	release_scratch(pctmp);
	int src=alloc_scratch();
	readlong(srca,src);
	int dst=dstreg+8;
	 jnf_ADDA_l(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ADDA.L #<data>.L,An */
uae_u32 REGPARAM2 op_d1fc_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = (opcode >> 9) & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	uae_s32 src = comp_get_ilong((m68k_pc_offset+=4)-4);
	int dst=dstreg+8;
	 jnf_ADDA_l_imm(dst, src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e000_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_ASR_b_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e008_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSR_b_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXRQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e010_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROXR_b(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e018_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROR_b(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASR.B Dn,Dn */
uae_u32 REGPARAM2 op_e020_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_ASR_b_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSR.B Dn,Dn */
uae_u32 REGPARAM2 op_e028_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSR_b_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
#endif

#ifdef PART_8
/* ROXR.B Dn,Dn */
uae_u32 REGPARAM2 op_e030_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROXR_b(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROR.B Dn,Dn */
uae_u32 REGPARAM2 op_e038_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROR_b(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e040_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_ASR_w_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e048_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSR_w_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXRQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e050_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROXR_w(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e058_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROR_w(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASR.W Dn,Dn */
uae_u32 REGPARAM2 op_e060_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_ASR_w_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSR.W Dn,Dn */
uae_u32 REGPARAM2 op_e068_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSR_w_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXR.W Dn,Dn */
uae_u32 REGPARAM2 op_e070_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROXR_w(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROR.W Dn,Dn */
uae_u32 REGPARAM2 op_e078_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROR_w(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e080_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_ASR_l_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e088_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSR_l_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXRQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e090_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROXR_l(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e098_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROR_l(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASR.L Dn,Dn */
uae_u32 REGPARAM2 op_e0a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_ASR_l_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSR.L Dn,Dn */
uae_u32 REGPARAM2 op_e0a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSR_l_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXR.L Dn,Dn */
uae_u32 REGPARAM2 op_e0b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROXR_l(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROR.L Dn,Dn */
uae_u32 REGPARAM2 op_e0b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROR_l(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (An) */
uae_u32 REGPARAM2 op_e0d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (An)+ */
uae_u32 REGPARAM2 op_e0d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASRW(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W -(An) */
uae_u32 REGPARAM2 op_e0e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (d16,An) */
uae_u32 REGPARAM2 op_e0e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e0f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (xxx).W */
uae_u32 REGPARAM2 op_e0f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASRW.W (xxx).L */
uae_u32 REGPARAM2 op_e0f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e100_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSL_b_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e108_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jnf_LSL_b_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXLQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e110_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROXL_b(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLQ.B #<data>,Dn */
uae_u32 REGPARAM2 op_e118_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROL_b(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASL.B Dn,Dn */
uae_u32 REGPARAM2 op_e120_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSL_b_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSL.B Dn,Dn */
uae_u32 REGPARAM2 op_e128_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jnf_LSL_b_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXL.B Dn,Dn */
uae_u32 REGPARAM2 op_e130_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROXL_b(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROL.B Dn,Dn */
uae_u32 REGPARAM2 op_e138_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROL_b(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e140_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSL_w_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e148_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jnf_LSL_w_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXLQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e150_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROXL_w(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLQ.W #<data>,Dn */
uae_u32 REGPARAM2 op_e158_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROL_w(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASL.W Dn,Dn */
uae_u32 REGPARAM2 op_e160_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSL_w_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSL.W Dn,Dn */
uae_u32 REGPARAM2 op_e168_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jnf_LSL_w_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXL.W Dn,Dn */
uae_u32 REGPARAM2 op_e170_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROXL_w(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROL.W Dn,Dn */
uae_u32 REGPARAM2 op_e178_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROL_w(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e180_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSL_l_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e188_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jnf_LSL_l_imm(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXLQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e190_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROXL_l(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLQ.L #<data>,Dn */
uae_u32 REGPARAM2 op_e198_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=alloc_scratch();
	mov_l_ri(cnt,srcreg);
	int data=dstreg;
	 jnf_ROL_l(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASL.L Dn,Dn */
uae_u32 REGPARAM2 op_e1a0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int data=dstreg;
	 jnf_LSL_l_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSL.L Dn,Dn */
uae_u32 REGPARAM2 op_e1a8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	int data=dstreg;
	 jnf_LSL_l_reg(data,srcreg);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROXL.L Dn,Dn */
uae_u32 REGPARAM2 op_e1b0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROXL_l(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROL.L Dn,Dn */
uae_u32 REGPARAM2 op_e1b8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = ((opcode >> 9) & 7);
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int cnt=srcreg;
	int data=dstreg;
	 jnf_ROL_l(data,cnt);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (An) */
uae_u32 REGPARAM2 op_e1d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (An)+ */
uae_u32 REGPARAM2 op_e1d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASLW(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W -(An) */
uae_u32 REGPARAM2 op_e1e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (d16,An) */
uae_u32 REGPARAM2 op_e1e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e1f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (xxx).W */
uae_u32 REGPARAM2 op_e1f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ASLW.W (xxx).L */
uae_u32 REGPARAM2 op_e1f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ASLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (An) */
uae_u32 REGPARAM2 op_e2d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (An)+ */
uae_u32 REGPARAM2 op_e2d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSRW(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W -(An) */
uae_u32 REGPARAM2 op_e2e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (d16,An) */
uae_u32 REGPARAM2 op_e2e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e2f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (xxx).W */
uae_u32 REGPARAM2 op_e2f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSRW.W (xxx).L */
uae_u32 REGPARAM2 op_e2f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSRW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (An) */
uae_u32 REGPARAM2 op_e3d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (An)+ */
uae_u32 REGPARAM2 op_e3d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSLW(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W -(An) */
uae_u32 REGPARAM2 op_e3e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (d16,An) */
uae_u32 REGPARAM2 op_e3e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e3f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (xxx).W */
uae_u32 REGPARAM2 op_e3f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* LSLW.W (xxx).L */
uae_u32 REGPARAM2 op_e3f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_LSLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (An) */
uae_u32 REGPARAM2 op_e6d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_RORW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (An)+ */
uae_u32 REGPARAM2 op_e6d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_RORW(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W -(An) */
uae_u32 REGPARAM2 op_e6e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_RORW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (d16,An) */
uae_u32 REGPARAM2 op_e6e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_RORW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e6f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_RORW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (xxx).W */
uae_u32 REGPARAM2 op_e6f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_RORW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* RORW.W (xxx).L */
uae_u32 REGPARAM2 op_e6f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_RORW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (An) */
uae_u32 REGPARAM2 op_e7d0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ROLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (An)+ */
uae_u32 REGPARAM2 op_e7d8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ROLW(src);
	writeword(srca,src);
	arm_ADD_l_ri8(srcreg+8,2);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W -(An) */
uae_u32 REGPARAM2 op_e7e0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=srcreg+8;
	arm_SUB_l_ri8(srcreg+8,2);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ROLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (d16,An) */
uae_u32 REGPARAM2 op_e7e8_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	lea_l_brr(srca,8+srcreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ROLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (d8,An,Xn) */
uae_u32 REGPARAM2 op_e7f0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca);
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ROLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (xxx).W */
uae_u32 REGPARAM2 op_e7f8_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ROLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* ROLW.W (xxx).L */
uae_u32 REGPARAM2 op_e7f9_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	 dont_care_flags();
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int src=alloc_scratch();
	readword(srca,src);
	 jnf_ROLW(src);
	writeword(srca,src);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
}
/* BFINS.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_efc0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dst=dstreg;
	if ((extra & 0x0820) == 0x0000) {
	  jnf_BFINS_ii(dst, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0800) { 
	  jnf_BFINS_di(dst, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	  jnf_BFINS_id(dst, srcreg, offs, width);
	} else { 
	  jnf_BFINS_dd(dst, srcreg, offs, width);
	}
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_efd0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	mov_l_rr(dsta,dstreg+8);
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jnf_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jnf_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jnf_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jnf_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jnf_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_efe8_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	lea_l_brr(dsta,8+dstreg,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jnf_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jnf_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jnf_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jnf_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jnf_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_eff0_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta);
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jnf_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jnf_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jnf_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jnf_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jnf_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_eff8_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jnf_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jnf_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jnf_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jnf_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jnf_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* BFINS.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_eff9_0_comp_nf(uae_u32 opcode)
{
#if !defined(ARMV6T2) && !defined(CPU_AARCH64)
  FAIL(1);
  return 0;
#else
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
	dont_care_flags();
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	int srcreg = (extra >> 12) & 7;
	int offs, width;
	if ((extra & 0x0800) == 0x0000)
	  offs = (extra >> 6) & 0x1f;
	else
	  offs = (extra >> 6) & 0x07;
	if ((extra & 0x0020) == 0x0000)
	  width = ((extra - 1) & 0x1f) + 1;
	else
	  width = (extra & 0x07);
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	if ((extra & 0x0800) == 0x0800) {
	  arm_ADD_ldiv8(dsta,offs);
	}
	int dst=alloc_scratch();
	readlong(dsta,dst);
	arm_ADD_l_ri8(dsta, 4);
	int dst2=alloc_scratch();
	readlong(dsta,dst2);
	if ((extra & 0x0820) == 0x0000) {
	  if(32 - offs - width >= 0) {
	    jnf_BFINS_ii(dst, srcreg, offs, width);
	  } else {
	    jnf_BFINS2_ii(dst, dst2, srcreg, offs, width);
	  }
	} else if ((extra & 0x0820) == 0x0800) { 
	    jnf_BFINS2_di(dst, dst2, srcreg, offs, width);
	} else if ((extra & 0x0820) == 0x0020) { 
	    jnf_BFINS2_id(dst, dst2, srcreg, offs, width);
	} else { 
	    jnf_BFINS2_dd(dst, dst2, srcreg, offs, width);
	}
	writelong(dsta,dst2);
	arm_SUB_l_ri8(dsta, 4);
	writelong(dsta,dst);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
return 0;
#endif
}
/* FPP.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_f200_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,An */
uae_u32 REGPARAM2 op_f208_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_f210_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_f218_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_f220_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_f228_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_f230_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_f238_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_f239_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(d16,PC) */
uae_u32 REGPARAM2 op_f23a_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 2;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,(d8,PC,Xn) */
uae_u32 REGPARAM2 op_f23b_0_comp_nf(uae_u32 opcode)
{
	uae_s32 dstreg = 3;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FPP.L #<data>.W,#<data>.L */
uae_u32 REGPARAM2 op_f23c_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fpp_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,Dn */
uae_u32 REGPARAM2 op_f240_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(An) */
uae_u32 REGPARAM2 op_f250_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(An)+ */
uae_u32 REGPARAM2 op_f258_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,-(An) */
uae_u32 REGPARAM2 op_f260_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(d16,An) */
uae_u32 REGPARAM2 op_f268_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(d8,An,Xn) */
uae_u32 REGPARAM2 op_f270_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(xxx).W */
uae_u32 REGPARAM2 op_f278_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FScc.L #<data>.W,(xxx).L */
uae_u32 REGPARAM2 op_f279_0_comp_nf(uae_u32 opcode)
{
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
	comp_fscc_opp(opcode,extra);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FBccQ.L #<data>,#<data>.W */
uae_u32 REGPARAM2 op_f280_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 63);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	comp_fbcc_opp(opcode);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* FBccQ.L #<data>,#<data>.L */
uae_u32 REGPARAM2 op_f2c0_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 63);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
#ifdef USE_JIT_FPU
	comp_fbcc_opp(opcode);
#else
	failure = 1;
#endif
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (An)+,(xxx).L */
uae_u32 REGPARAM2 op_f600_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
	int srca=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	 jnf_ADD_im8(srcreg + 8, srcreg + 8, 16);
	jnf_MOVE16(dsta, srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (xxx).L,(An)+ */
uae_u32 REGPARAM2 op_f608_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dsta=dstreg+8;
	 jnf_ADD_im8(dstreg + 8, dstreg + 8, 16);
	jnf_MOVE16(dsta, srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (An),(xxx).L */
uae_u32 REGPARAM2 op_f610_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
	int srca=srcreg+8;
	int dsta=alloc_scratch();
	mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	jnf_MOVE16(dsta, srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (xxx).L,(An) */
uae_u32 REGPARAM2 op_f618_0_comp_nf(uae_u32 opcode)
{
	uae_u32 dstreg = opcode & 7;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
	int srca=alloc_scratch();
	mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
	int dsta=dstreg+8;
	jnf_MOVE16(dsta, srca);
	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
/* MOVE16.L (An)+,(An)+ */
uae_u32 REGPARAM2 op_f620_0_comp_nf(uae_u32 opcode)
{
	uae_s32 srcreg = (opcode & 7);
	uae_s32 dstreg = 0;
	uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
	m68k_pc_offset+=2;
if (special_mem) {
  FAIL(1);
  return 0;
} 
{	 uae_u16 dstreg = ((comp_get_iword((m68k_pc_offset+=2)-2))>>12) & 0x07;
	int srca=srcreg + 8;
	int dsta=dstreg + 8;
	jnf_MOVE16(dsta, srca);
	 if (srcreg != dstreg)
	   jnf_ADD_im8(srcreg + 8, srcreg + 8, 16);
	 jnf_ADD_im8(dstreg + 8, dstreg + 8, 16);
}	 if (m68k_pc_offset>SYNC_PC_OFFSET) sync_m68k_pc();
	if (failure)  m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
#endif

#endif
