uae-wii/src/compemu.c

63303 lines
1.7 MiB

#include "sysconfig.h"
#include "sysdeps.h"
#include "options.h"
#include "memory.h"
#include "custom.h"
#include "events.h"
#include "newcpu.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 PART_1
unsigned long REGPARAM2 op_0_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_18_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_28_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_38_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_39_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_58_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_60_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_68_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_70_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_78_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_79_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_98_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a0_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a8_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b8_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b9_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_100_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_110_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_118_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_120_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_128_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_130_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_138_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_139_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13a_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13b_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13c_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst = scratchie++;
mov_l_ri(dst,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_140_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_150_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_158_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_160_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_168_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_170_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_178_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_179_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_17a_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_17b_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_180_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_190_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_198_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1a0_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1a8_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1b0_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1b8_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1b9_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1ba_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1bb_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1c0_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1d0_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1d8_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1e0_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1e8_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1f0_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1f8_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1f9_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1fa_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1fb_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_200_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_210_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_218_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_220_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_228_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_230_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_238_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_239_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_240_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_250_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_258_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_260_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_268_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_270_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_278_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_279_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_280_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_290_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_298_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2a0_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2a8_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2b0_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2b8_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2b9_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_400_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_410_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_418_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_420_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_428_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_430_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_438_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_439_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_440_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_450_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_458_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_460_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_468_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_470_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_478_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_479_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_480_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_490_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_498_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a0_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a8_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4b0_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4b8_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4b9_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_600_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_610_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_618_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_620_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_628_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_630_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_638_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_639_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_640_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_650_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_658_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_660_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_668_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_670_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_678_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_679_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_680_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_690_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_698_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6a0_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6a8_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b0_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b8_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b9_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_800_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_810_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_818_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_820_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_828_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_830_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_838_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_839_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_83a_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_83b_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_83c_0_comp_ff(uae_u32 opcode) /* BTST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst = scratchie++;
mov_l_ri(dst,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_840_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_850_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_858_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_860_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_868_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_870_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_878_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_879_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_87a_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_87b_0_comp_ff(uae_u32 opcode) /* BCHG */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_880_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_890_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_898_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8a0_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8a8_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8b0_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8b8_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8b9_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8ba_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8bb_0_comp_ff(uae_u32 opcode) /* BCLR */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8c0_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8d0_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8d8_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8e0_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8e8_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8f0_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8f8_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8f9_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8fa_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8fb_0_comp_ff(uae_u32 opcode) /* BSET */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
start_needflags();
setzflg_l(s);
live_flags();
end_needflags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a00_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a10_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a18_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a20_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a28_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a30_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a38_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a39_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a40_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a50_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a58_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a60_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a68_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a70_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a78_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a79_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_2
unsigned long REGPARAM2 op_a80_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a90_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a98_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_aa0_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_aa8_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ab0_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ab8_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ab9_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c00_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c10_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c18_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c20_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c28_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c30_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c38_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c39_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c3a_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c3b_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c40_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c50_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c58_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c60_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c68_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c70_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c78_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c79_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c7a_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c7b_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c80_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c90_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c98_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ca0_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ca8_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cb0_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cb8_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cb9_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cba_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
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=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cbb_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1000_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1010_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1018_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1020_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1028_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1030_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1038_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1039_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_103a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_103b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_103c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_b_ri(dst,0);
start_needflags();
or_b(dst,src);
} else {
mov_b_rr(dst,src);
test_b_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1080_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1090_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1098_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10a0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10a8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10b0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10b8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10b9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10ba_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10bb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10bc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1100_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1110_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1118_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1120_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1128_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1130_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1138_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1139_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_113a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_113b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_113c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1140_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1150_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1158_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1160_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1168_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1170_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1178_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1179_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_117a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_117b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_117c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1180_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1190_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1198_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11a0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11a8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11b0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11b8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11b9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11ba_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11bb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11bc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
} writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2000_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2008_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2010_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2018_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2020_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2028_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2030_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2038_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2039_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_203a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_203b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_203c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2040_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2048_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2050_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2058_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2060_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2068_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2070_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2078_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2079_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_207a_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_207b_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_207c_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2080_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2088_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2090_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2098_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20a0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20a8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20b0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20b8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20b9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20ba_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20bb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20bc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20c8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2100_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2108_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2110_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2118_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2120_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2128_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2130_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2138_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2139_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_213a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_213b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_213c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2140_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2148_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_3
unsigned long REGPARAM2 op_2150_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2158_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2160_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2168_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2170_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2178_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2179_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_217a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_217b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_217c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2180_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2188_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2190_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2198_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21a0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21a8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21b0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21b8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21b9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21ba_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21bb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21bc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21c8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23c8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3000_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3008_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3010_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3018_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3020_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3028_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3030_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3038_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3039_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_303a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_303b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_303c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_w_ri(dst,0);
start_needflags();
or_w(dst,src);
} else {
mov_w_rr(dst,src);
test_w_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3040_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3048_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3050_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3058_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3060_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3068_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3070_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3078_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3079_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_307a_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_307b_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_307c_0_comp_ff(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3080_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3088_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3090_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3098_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30a0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30a8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30b0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30b8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30b9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30ba_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30bb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30bc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30c8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3100_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3108_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3110_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3118_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3120_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3128_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3130_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3138_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3139_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_313a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_313b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_313c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3140_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3148_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3150_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3158_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3160_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3168_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3170_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3178_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3179_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_317a_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_317b_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_317c_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3180_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3188_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3190_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3198_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31a0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31a8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31b0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31b8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31b9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31ba_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31bb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31bc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31c8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33c0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33c8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33d0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33d8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33e0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33e8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33f0_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33f8_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33f9_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33fa_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33fb_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33fc_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
} writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4000_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)srcreg!=(uae_u32)dst)
mov_b_rr(srcreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4010_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4018_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4020_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4028_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4030_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4038_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4039_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4040_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4050_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4058_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4060_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4068_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4070_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4078_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4079_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4080_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4090_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4098_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40a0_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40a8_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40b0_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40b8_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40b9_0_comp_ff(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41d0_0_comp_ff(uae_u32 opcode) /* LEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41e8_0_comp_ff(uae_u32 opcode) /* LEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41f0_0_comp_ff(uae_u32 opcode) /* LEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41f8_0_comp_ff(uae_u32 opcode) /* LEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41f9_0_comp_ff(uae_u32 opcode) /* LEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41fa_0_comp_ff(uae_u32 opcode) /* LEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41fb_0_comp_ff(uae_u32 opcode) /* LEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4200_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_b_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_b_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4210_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_b_rr(dst,dst);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4218_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_b_rr(dst,dst);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4220_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_b_rr(dst,dst);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4228_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_b_rr(dst,dst);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4230_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_b_rr(dst,dst);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4238_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_b_rr(dst,dst);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4239_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_b_rr(dst,dst);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4240_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4250_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4258_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4260_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4268_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4270_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4278_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4279_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4280_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4290_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_4
unsigned long REGPARAM2 op_4298_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42a0_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42a8_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42b0_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42b8_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42b9_0_comp_ff(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4400_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)srcreg!=(uae_u32)dst)
mov_b_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4410_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4418_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4420_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4428_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4430_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4438_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4439_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4440_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4450_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4458_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4460_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4468_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4470_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4478_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4479_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4480_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4490_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4498_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44a0_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44a8_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44b0_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44b8_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44b9_0_comp_ff(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4600_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_b_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4610_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4618_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4620_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4628_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4630_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4638_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4639_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4640_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4650_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4658_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4660_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4668_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4670_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4678_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4679_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4680_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4690_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4698_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46a0_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46a8_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46b0_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46b8_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46b9_0_comp_ff(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4808_0_comp_ff(uae_u32 opcode) /* LINK */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int offs = scratchie++;
mov_l_ri(offs,comp_get_ilong((m68k_pc_offset+=4)-4));
sub_l_ri(15,4);
writelong_clobber(15,src,scratchie);
mov_l_rr(src,15);
add_l(15,offs);
if((uae_u32)srcreg+8!=(uae_u32)src)
mov_l_rr(srcreg+8,src);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4840_0_comp_ff(uae_u32 opcode) /* SWAP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
rol_l_ri(src,16);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)src)
mov_l_rr(srcreg,src);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4850_0_comp_ff(uae_u32 opcode) /* PEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if (srcreg==7) dodgy=1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4868_0_comp_ff(uae_u32 opcode) /* PEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if (srcreg==7) dodgy=1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4870_0_comp_ff(uae_u32 opcode) /* PEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if (srcreg==7) dodgy=1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4878_0_comp_ff(uae_u32 opcode) /* PEA */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4879_0_comp_ff(uae_u32 opcode) /* PEA */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_487a_0_comp_ff(uae_u32 opcode) /* PEA */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_487b_0_comp_ff(uae_u32 opcode) /* PEA */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4880_0_comp_ff(uae_u32 opcode) /* EXT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ int dst = scratchie++;
sign_extend_8_rr(dst,src);
dont_care_flags();
{ start_needflags();
test_w_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4890_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48a0_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,8+dstreg);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
offset-=2;
mov_l_rr(tmp,15-i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
}
} lea_l_brr(8+dstreg,srca,(uae_s32)offset);
} else {
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
sub_l_ri(srca,2);
writeword(srca,15-i,scratchie);
}
} mov_l_rr(8+dstreg,srca);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48a8_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,8+dstreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48b0_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48b8_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48b9_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48c0_0_comp_ff(uae_u32 opcode) /* EXT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ int dst = src;
sign_extend_16_rr(src,src);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48d0_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48e0_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,8+dstreg);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
offset-=4;
mov_l_rr(tmp,15-i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
}
} lea_l_brr(8+dstreg,srca,(uae_s32)offset);
} else {
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
sub_l_ri(srca,4);
writelong(srca,15-i,scratchie);
}
} mov_l_rr(8+dstreg,srca);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48e8_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,8+dstreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48f0_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48f8_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48f9_0_comp_ff(uae_u32 opcode) /* MVMLE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_49c0_0_comp_ff(uae_u32 opcode) /* EXT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ int dst = src;
sign_extend_8_rr(src,src);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a00_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a10_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a18_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a20_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a28_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a30_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a38_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a39_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a3a_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a3b_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a3c_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_b_rr(src,src);
live_flags();
end_needflags();
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a40_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a48_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a50_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a58_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a60_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a68_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a70_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a78_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a79_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a7a_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a7b_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a7c_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
dont_care_flags();
{ start_needflags();
test_w_rr(src,src);
live_flags();
end_needflags();
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a80_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a88_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a90_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a98_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4aa0_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4aa8_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ab0_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ab8_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ab9_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4aba_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4abb_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4abc_0_comp_ff(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
dont_care_flags();
{ start_needflags();
test_l_rr(src,src);
live_flags();
end_needflags();
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c90_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c98_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} lea_l_brr(8+dstreg,srca,offset);
} else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} mov_l_rr(8+dstreg,tmp);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ca8_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,8+dstreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cb0_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cb8_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cb9_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cba_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
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 (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cbb_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cd0_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cd8_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} lea_l_brr(8+dstreg,srca,offset);
} else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} mov_l_rr(8+dstreg,tmp);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ce8_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,8+dstreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cf0_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cf8_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cf9_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cfa_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
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 (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cfb_0_comp_ff(uae_u32 opcode) /* MVMEL */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e50_0_comp_ff(uae_u32 opcode) /* LINK */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sub_l_ri(15,4);
writelong_clobber(15,src,scratchie);
mov_l_rr(src,15);
sign_extend_16_rr(offs,offs);
add_l(15,offs);
if((uae_u32)srcreg+8!=(uae_u32)src)
mov_l_rr(srcreg+8,src);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e58_0_comp_ff(uae_u32 opcode) /* UNLK */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
mov_l_rr(15,src);
readlong(15,src,scratchie);
add_l_ri(15,4);
if((uae_u32)srcreg+8!=(uae_u32)src)
mov_l_rr(srcreg+8,src);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e71_0_comp_ff(uae_u32 opcode) /* NOP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e74_0_comp_ff(uae_u32 opcode) /* RTD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
add_l_ri(offs,4);
{ int newad=scratchie++;
readlong(15,newad,scratchie);
and_l_ri(newad,~1);
mov_l_mr((uae_u32)&regs.pc,newad);
get_n_addr_jmp(newad,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
add_l(15,offs);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e75_0_comp_ff(uae_u32 opcode) /* RTS */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int newad=scratchie++;
readlong(15,newad,scratchie);
and_l_ri(newad,~1);
mov_l_mr((uae_u32)&regs.pc,newad);
get_n_addr_jmp(newad,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
lea_l_brr(15,15,4);
} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e90_0_comp_ff(uae_u32 opcode) /* JSR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ea8_0_comp_ff(uae_u32 opcode) /* JSR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,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=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4eb0_0_comp_ff(uae_u32 opcode) /* JSR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4eb8_0_comp_ff(uae_u32 opcode) /* JSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
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=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4eb9_0_comp_ff(uae_u32 opcode) /* JSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
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=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4eba_0_comp_ff(uae_u32 opcode) /* JSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ebb_0_comp_ff(uae_u32 opcode) /* JSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ed0_0_comp_ff(uae_u32 opcode) /* JMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ee8_0_comp_ff(uae_u32 opcode) /* JMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ef0_0_comp_ff(uae_u32 opcode) /* JMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ef8_0_comp_ff(uae_u32 opcode) /* JMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ef9_0_comp_ff(uae_u32 opcode) /* JMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4efa_0_comp_ff(uae_u32 opcode) /* JMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4efb_0_comp_ff(uae_u32 opcode) /* JMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5000_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5010_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5018_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5020_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5028_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5030_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5038_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_5
unsigned long REGPARAM2 op_5039_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5040_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5048_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5050_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5058_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5060_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5068_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5070_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5078_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5079_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5080_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5088_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5090_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5098_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50a0_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50a8_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50b0_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50b8_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50b9_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50c0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50c8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50d0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50d8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50e0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50e8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50f0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50f8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50f9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5100_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5110_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5118_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5120_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5128_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5130_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5138_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5139_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5140_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5148_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5150_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5158_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5160_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5168_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5170_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5178_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5179_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5180_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5188_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5190_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5198_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51a0_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51a8_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51b0_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51b8_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51b9_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51c0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51c8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
start_needflags();
sub_w_ri(src,1);
end_needflags();
{ uae_u32 v2,v;
uae_u32 v1=get_const(PC_P);
v2=get_const(offs);
register_branch(v1,v2,3);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51d0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51d8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51e0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51e8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51f0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51f8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51f9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52c0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52c8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,7);
cmov_l_rr(src,nsrc,7);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52d0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52d8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52e0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52e8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52f0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52f8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52f9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53c0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53c8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,6);
cmov_l_rr(src,nsrc,6);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53d0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53d8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53e0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53e8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53f0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53f8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53f9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54c0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54c8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,3);
cmov_l_rr(src,nsrc,3);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54d0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54d8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54e0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54e8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54f0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54f8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54f9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55c0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55c8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,2);
cmov_l_rr(src,nsrc,2);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55d0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55d8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55e0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55e8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55f0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55f8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55f9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56c0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56c8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,5);
cmov_l_rr(src,nsrc,5);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56d0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56d8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56e0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56e8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56f0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56f8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56f9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57c0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57c8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,4);
cmov_l_rr(src,nsrc,4);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57d0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57d8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57e0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57e8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57f0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57f8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57f9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ac0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ac8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,9);
cmov_l_rr(src,nsrc,9);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ad0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ad8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ae0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ae8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5af0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5af8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5af9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bc0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bc8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,8);
cmov_l_rr(src,nsrc,8);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bd0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bd8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5be0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5be8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bf0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bf8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bf9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cc0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cc8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,13);
cmov_l_rr(src,nsrc,13);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cd0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cd8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ce0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ce8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cf0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cf8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cf9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5dc0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5dc8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,12);
cmov_l_rr(src,nsrc,12);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5dd0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5dd8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5de0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5de8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5df0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5df8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5df9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ec0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ec8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,15);
cmov_l_rr(src,nsrc,15);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ed0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ed8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ee0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ee8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ef0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ef8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ef9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fc0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fc8_0_comp_ff(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,14);
cmov_l_rr(src,nsrc,14);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fd0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fd8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fe0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fe8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ff0_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ff8_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_6
unsigned long REGPARAM2 op_5ff9_0_comp_ff(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6000_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
mov_l_rr(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6001_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
mov_l_rr(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_60ff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
mov_l_rr(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6100_0_comp_ff(uae_u32 opcode) /* BSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
and_l_ri(src,~1);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
add_l_ri(src,m68k_pc_offset_thisinst+2);
m68k_pc_offset=0;
add_l(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6101_0_comp_ff(uae_u32 opcode) /* BSR */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
and_l_ri(src,~1);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
add_l_ri(src,m68k_pc_offset_thisinst+2);
m68k_pc_offset=0;
add_l(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6200_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6201_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_62ff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6300_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6301_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_63ff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6400_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6401_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_64ff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6500_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6501_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_65ff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6600_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6601_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_66ff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6700_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6701_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_67ff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6a00_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6a01_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6aff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b00_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b01_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6bff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6c00_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6c01_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6cff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6d00_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6d01_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6dff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6e00_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,15);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6e01_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,15);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6eff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,15);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6f00_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,14);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6f01_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,14);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6fff_0_comp_ff(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,14);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_7000_0_comp_ff(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
{ if (src!=dst) {
mov_l_ri(dst,0);
start_needflags();
or_l(dst,src);
} else {
mov_l_rr(dst,src);
test_l_rr(dst,dst);
}
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8000_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8010_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8018_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8020_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8028_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8030_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8038_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8039_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_803a_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_803b_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_803c_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8040_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8050_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8058_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8060_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8068_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8070_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8078_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8079_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_807a_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_807b_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_807c_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8080_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8090_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8098_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80a0_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80a8_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80b0_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80b8_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80b9_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80ba_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80bb_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80bc_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8110_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8118_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8120_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8128_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8130_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8138_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8139_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8150_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8158_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8160_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8168_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8170_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8178_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8179_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8190_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8198_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81a0_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81a8_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81b0_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81b8_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81b9_0_comp_ff(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
or_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9000_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9010_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9018_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9020_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9028_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9030_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9038_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9039_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_903a_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_903b_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_903c_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9040_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9048_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9050_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9058_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9060_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9068_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9070_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9078_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9079_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_907a_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_907b_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_907c_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9080_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9088_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9090_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9098_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90a0_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90a8_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90b0_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90b8_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90b9_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90ba_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90bb_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90bc_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90c0_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90c8_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90d0_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90d8_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90e0_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90e8_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90f0_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90f8_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90f9_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90fa_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90fb_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90fc_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9100_0_comp_ff(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9108_0_comp_ff(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9110_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9118_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9120_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9128_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9130_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9138_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9139_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9140_0_comp_ff(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9148_0_comp_ff(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9150_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9158_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9160_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9168_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9170_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9178_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9179_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9180_0_comp_ff(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9188_0_comp_ff(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
sbb_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9190_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9198_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91a0_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91a8_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91b0_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91b8_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91b9_0_comp_ff(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
sub_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91c0_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91c8_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91d0_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91d8_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91e0_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91e8_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91f0_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91f8_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91f9_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91fa_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91fb_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91fc_0_comp_ff(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b000_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b010_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b018_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b020_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b028_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b030_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b038_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b039_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b03a_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b03b_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b03c_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b040_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_7
unsigned long REGPARAM2 op_b048_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b050_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b058_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b060_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b068_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b070_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b078_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b079_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b07a_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b07b_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b07c_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b080_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b088_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b090_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b098_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0a0_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0a8_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0b0_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0b8_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0b9_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0ba_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0bb_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0bc_0_comp_ff(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0c0_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0c8_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0d0_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0d8_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0e0_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0e8_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0f0_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0f8_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0f9_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0fa_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0fb_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0fc_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b100_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b108_0_comp_ff(uae_u32 opcode) /* CMPM */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ dont_care_flags();
start_needflags();
cmp_b(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b110_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b118_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b120_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b128_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b130_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b138_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b139_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b140_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b148_0_comp_ff(uae_u32 opcode) /* CMPM */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
{ dont_care_flags();
start_needflags();
cmp_w(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b150_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b158_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b160_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b168_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b170_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b178_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b179_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b180_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b188_0_comp_ff(uae_u32 opcode) /* CMPM */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
{ dont_care_flags();
start_needflags();
cmp_l(dst,src);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b190_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b198_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1a0_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1a8_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1b0_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1b8_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1b9_0_comp_ff(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
xor_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1c0_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1c8_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1d0_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1d8_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1e0_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1e8_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1f0_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1f8_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1f9_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1fa_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1fb_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1fc_0_comp_ff(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
start_needflags();
cmp_l(dst,tmps);
live_flags();
end_needflags();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c000_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c010_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c018_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c020_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c028_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c030_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c038_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c039_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c03a_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c03b_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c03c_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c040_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c050_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c058_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c060_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c068_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c070_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c078_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c079_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c07a_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c07b_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c07c_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c080_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c090_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c098_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0a0_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0a8_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0b0_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0b8_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0b9_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0ba_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0bb_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0bc_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0c0_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int src=srcreg;
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0d0_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0d8_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0e0_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0e8_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0f0_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0f8_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0f9_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0fa_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0fb_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0fc_0_comp_ff(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c110_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c118_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c120_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c128_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c130_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c138_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c139_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_b(dst,src);
live_flags();
end_needflags();
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c140_0_comp_ff(uae_u32 opcode) /* EXG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int tmp=scratchie++;
mov_l_rr(tmp,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
if((uae_u32)dstreg!=(uae_u32)tmp)
mov_l_rr(dstreg,tmp);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c148_0_comp_ff(uae_u32 opcode) /* EXG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
mov_l_rr(tmp,src);
if((uae_u32)srcreg+8!=(uae_u32)dst)
mov_l_rr(srcreg+8,dst);
if((uae_u32)dstreg+8!=(uae_u32)tmp)
mov_l_rr(dstreg+8,tmp);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c150_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c158_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c160_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c168_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c170_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c178_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c179_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_w(dst,src);
live_flags();
end_needflags();
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c188_0_comp_ff(uae_u32 opcode) /* EXG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
mov_l_rr(tmp,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
if((uae_u32)dstreg+8!=(uae_u32)tmp)
mov_l_rr(dstreg+8,tmp);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c190_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c198_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1a0_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1a8_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1b0_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1b8_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1b9_0_comp_ff(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ start_needflags();
and_l(dst,src);
live_flags();
end_needflags();
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1c0_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int src=srcreg;
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1d0_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1d8_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1e0_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1e8_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1f0_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1f8_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1f9_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1fa_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1fb_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1fc_0_comp_ff(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
dont_care_flags();
{ start_needflags();
test_l_rr(dst,dst);
live_flags();
end_needflags();
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d000_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d010_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d018_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d020_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d028_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d030_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d038_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d039_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d03a_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d03b_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d03c_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d040_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d048_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d050_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d058_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d060_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d068_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d070_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d078_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d079_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d07a_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d07b_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d07c_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d080_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d088_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d090_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d098_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0a0_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0a8_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0b0_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0b8_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0b9_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0ba_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0bb_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0bc_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0c0_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0c8_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0d0_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0d8_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0e0_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0e8_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0f0_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0f8_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0f9_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0fa_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0fb_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0fc_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d100_0_comp_ff(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
adc_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d108_0_comp_ff(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
adc_b(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d110_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d118_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d120_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d128_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d130_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d138_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d139_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_b(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d140_0_comp_ff(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
adc_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d148_0_comp_ff(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
adc_w(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d150_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d158_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d160_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d168_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d170_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d178_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d179_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_w(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d180_0_comp_ff(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
adc_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d188_0_comp_ff(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
{ int zero=scratchie++;
int one=scratchie++;
if (needed_flags&FLAG_Z) {
mov_l_ri(zero,0);
mov_l_ri(one,1);
make_flags_live();
cmov_l_rr(zero,one,5);
}
restore_carry();
start_needflags();
adc_l(dst,src);
live_flags();
if (needed_flags&FLAG_Z) {
cmov_l_rr(zero,one,5);
setzflg_l(zero);
live_flags();
}
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d190_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d198_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1a0_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1a8_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1b0_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1b8_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1b9_0_comp_ff(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
start_needflags();
add_l(dst,src);
live_flags();
end_needflags();
if (needed_flags&FLAG_X) duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1c0_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1c8_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1d0_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1d8_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_8
unsigned long REGPARAM2 op_d1e0_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1e8_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1f0_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1f8_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1f9_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1fa_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1fb_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1fc_0_comp_ff(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e000_0_comp_ff(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shra_b_ri(data,srcreg);
bp=srcreg-1;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e008_0_comp_ff(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shrl_b_ri(data,srcreg);
bp=srcreg-1;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e018_0_comp_ff(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ ror_b_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(data,0x07);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e020_0_comp_ff(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int width;
int cdata=scratchie++;
int tmpcnt=scratchie++;
int highshift=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shra_b_rr(data,cnt);
highmask=0x38;
width=8;
test_l_ri(cnt,highmask);
mov_l_ri(highshift,0);
mov_l_ri(scratchie,width/2);
cmov_l_rr(highshift,scratchie,5);
shra_b_rr(data,highshift);
shra_b_rr(data,highshift);
sub_l_ri(tmpcnt,1);
shra_b_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
cmov_l_rr(cdata,data,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(cdata,0);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e028_0_comp_ff(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shrl_b_rr(data,cnt);
highmask=0x38;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_b_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shrl_b_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(cdata,0);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e038_0_comp_ff(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ ror_b_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(data,0x07);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e040_0_comp_ff(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shra_w_ri(data,srcreg);
bp=srcreg-1;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e048_0_comp_ff(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shrl_w_ri(data,srcreg);
bp=srcreg-1;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e058_0_comp_ff(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ ror_w_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(data,0x0f);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e060_0_comp_ff(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int width;
int cdata=scratchie++;
int tmpcnt=scratchie++;
int highshift=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shra_w_rr(data,cnt);
highmask=0x30;
width=16;
test_l_ri(cnt,highmask);
mov_l_ri(highshift,0);
mov_l_ri(scratchie,width/2);
cmov_l_rr(highshift,scratchie,5);
shra_w_rr(data,highshift);
shra_w_rr(data,highshift);
sub_l_ri(tmpcnt,1);
shra_w_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
cmov_l_rr(cdata,data,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(cdata,0);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e068_0_comp_ff(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shrl_w_rr(data,cnt);
highmask=0x30;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_w_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shrl_w_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(cdata,0);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e078_0_comp_ff(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ ror_w_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(data,0x0f);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e080_0_comp_ff(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shra_l_ri(data,srcreg);
bp=srcreg-1;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e088_0_comp_ff(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shrl_l_ri(data,srcreg);
bp=srcreg-1;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e098_0_comp_ff(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ ror_l_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(data,0x1f);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e0a0_0_comp_ff(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int width;
int cdata=scratchie++;
int tmpcnt=scratchie++;
int highshift=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shra_l_rr(data,cnt);
highmask=0x20;
width=32;
test_l_ri(cnt,highmask);
mov_l_ri(highshift,0);
mov_l_ri(scratchie,width/2);
cmov_l_rr(highshift,scratchie,5);
shra_l_rr(data,highshift);
shra_l_rr(data,highshift);
sub_l_ri(tmpcnt,1);
shra_l_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
cmov_l_rr(cdata,data,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(cdata,0);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e0a8_0_comp_ff(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shrl_l_rr(data,cnt);
highmask=0x20;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_l_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shrl_l_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(cdata,0);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e0b8_0_comp_ff(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ ror_l_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(data,0x1f);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e100_0_comp_ff(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_b_ri(data,srcreg);
bp=8-srcreg;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e108_0_comp_ff(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_b_ri(data,srcreg);
bp=8-srcreg;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e118_0_comp_ff(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ rol_b_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(data,0x00);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e120_0_comp_ff(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shll_b_rr(data,cnt);
highmask=0x38;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_b_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shll_b_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(cdata,7);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e128_0_comp_ff(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shll_b_rr(data,cnt);
highmask=0x38;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_b_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shll_b_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(cdata,7);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e138_0_comp_ff(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ rol_b_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_b_rr(data,data);
bt_l_ri(data,0x00);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e140_0_comp_ff(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_w_ri(data,srcreg);
bp=16-srcreg;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e148_0_comp_ff(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_w_ri(data,srcreg);
bp=16-srcreg;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e158_0_comp_ff(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ rol_w_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(data,0x00);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e160_0_comp_ff(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shll_w_rr(data,cnt);
highmask=0x30;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_w_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shll_w_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(cdata,15);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e168_0_comp_ff(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shll_w_rr(data,cnt);
highmask=0x30;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_w_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shll_w_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(cdata,15);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e178_0_comp_ff(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ rol_w_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_w_rr(data,data);
bt_l_ri(data,0x00);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e180_0_comp_ff(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_l_ri(data,srcreg);
bp=32-srcreg;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e188_0_comp_ff(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_l_ri(data,srcreg);
bp=32-srcreg;
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(tmp,bp);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e198_0_comp_ff(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ rol_l_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(data,0x00);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e1a0_0_comp_ff(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shll_l_rr(data,cnt);
highmask=0x20;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_l_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shll_l_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(cdata,31);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e1a8_0_comp_ff(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int cdata=scratchie++;
int tmpcnt=scratchie++;
mov_l_rr(tmpcnt,cnt);
and_l_ri(tmpcnt,63);
mov_l_ri(cdata,0);
cmov_l_rr(cdata,data,5);
shll_l_rr(data,cnt);
highmask=0x20;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_l_rr(data,scratchie);
sub_l_ri(tmpcnt,1);
shll_l_rr(cdata,tmpcnt);
test_l_ri(tmpcnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(cdata,scratchie,5);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(cdata,31);
live_flags();
end_needflags();
duplicate_carry();
if (!(needed_flags & FLAG_CZNV)) dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e1b8_0_comp_ff(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ rol_l_rr(data,cnt);
start_needflags();
if (needed_flags & FLAG_ZNV)
test_l_rr(data,data);
bt_l_ri(data,0x00);
live_flags();
end_needflags();
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f200_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f208_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f210_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f218_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f220_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f228_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f230_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f238_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f239_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f23a_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f23b_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f23c_0_comp_ff(uae_u32 opcode) /* FPP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f240_0_comp_ff(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f250_0_comp_ff(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f258_0_comp_ff(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f260_0_comp_ff(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f268_0_comp_ff(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f270_0_comp_ff(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f278_0_comp_ff(uae_u32 opcode) /* FScc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f279_0_comp_ff(uae_u32 opcode) /* FScc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f280_0_comp_ff(uae_u32 opcode) /* FBcc */
{
uae_s32 srcreg = (opcode & 63);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
comp_fbcc_opp(opcode);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f2c0_0_comp_ff(uae_u32 opcode) /* FBcc */
{
uae_s32 srcreg = (opcode & 63);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
comp_fbcc_opp(opcode);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f600_0_comp_ff(uae_u32 opcode) /* MOVE16 */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
mov_l_rr(src,srca);
mov_l_rr(dst,dsta);
and_l_ri(src,~15);
and_l_ri(dst,~15);
add_l_ri(srcreg+8,16);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_f608_0_comp_ff(uae_u32 opcode) /* MOVE16 */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
mov_l_rr(src,srca);
mov_l_rr(dst,dsta);
and_l_ri(src,~15);
and_l_ri(dst,~15);
add_l_ri(dstreg+8,16);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_f610_0_comp_ff(uae_u32 opcode) /* MOVE16 */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
mov_l_rr(src,srca);
mov_l_rr(dst,dsta);
and_l_ri(src,~15);
and_l_ri(dst,~15);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_f618_0_comp_ff(uae_u32 opcode) /* MOVE16 */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
mov_l_rr(src,srca);
mov_l_rr(dst,dsta);
and_l_ri(src,~15);
and_l_ri(dst,~15);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_f620_0_comp_ff(uae_u32 opcode) /* MOVE16 */
{
uae_s32 srcreg = (opcode & 7);
uae_s32 dstreg = 0;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
uae_u16 dstreg=((comp_get_iword((m68k_pc_offset+=2)-2))>>12)&0x07;
mov_l_rr(src,8+srcreg);
mov_l_rr(dst,8+dstreg);
and_l_ri(src,~15);
and_l_ri(dst,~15);
if (srcreg != dstreg)
add_l_ri(srcreg+8,16);
add_l_ri(dstreg+8,16);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
} if (m68k_pc_offset>100) sync_m68k_pc();
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
#ifdef PART_1
unsigned long REGPARAM2 op_0_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_18_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_28_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_38_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_39_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_58_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_60_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_68_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_70_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_78_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_79_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_98_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a0_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a8_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b8_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b9_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_100_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_110_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_118_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_120_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_128_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_130_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_138_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_139_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13a_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13b_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13c_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst = scratchie++;
mov_l_ri(dst,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_140_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_150_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_158_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_160_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_168_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_170_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_178_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_179_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_17a_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_17b_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_180_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_190_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_198_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1a0_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1a8_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1b0_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1b8_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1b9_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1ba_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1bb_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1c0_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1d0_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1d8_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1e0_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1e8_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1f0_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1f8_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1f9_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1fa_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1fb_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_200_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_210_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_218_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_220_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_228_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_230_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_238_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_239_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_240_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_250_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_258_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_260_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_268_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_270_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_278_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_279_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_280_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_290_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_298_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2a0_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2a8_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2b0_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2b8_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2b9_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_400_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_410_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_418_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_420_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_428_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_430_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_438_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_439_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_440_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_450_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_458_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_460_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_468_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_470_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_478_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_479_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_480_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_490_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_498_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a0_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a8_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4b0_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4b8_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4b9_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_600_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_610_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_618_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_620_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_628_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_630_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_638_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_639_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_640_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_650_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_658_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_660_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_668_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_670_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_678_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_679_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_680_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_690_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_698_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6a0_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6a8_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b0_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b8_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b9_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_800_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_810_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_818_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_820_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_828_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_830_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_838_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_839_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_83a_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_83b_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_83c_0_comp_nf(uae_u32 opcode) /* BTST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst = scratchie++;
mov_l_ri(dst,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bt_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_840_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_850_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_858_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_860_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_868_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_870_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_878_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_879_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_87a_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_87b_0_comp_nf(uae_u32 opcode) /* BCHG */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btc_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_880_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_890_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_898_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8a0_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8a8_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8b0_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8b8_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8b9_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8ba_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8bb_0_comp_nf(uae_u32 opcode) /* BCLR */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
btr_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8c0_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,31);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8d0_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8d8_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8e0_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8e8_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8f0_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8f8_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8f9_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8fa_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8fb_0_comp_nf(uae_u32 opcode) /* BSET */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ int s=scratchie++;
mov_l_rr(s,src);
and_l_ri(s,7);
bts_l_rr(dst,s);
sbb_l(s,s);
make_flags_live();
dont_care_flags();
writebyte(dsta,dst,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a00_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a10_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a18_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a20_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a28_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a30_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a38_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a39_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a40_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a50_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a58_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a60_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a68_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a70_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a78_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a79_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_2
unsigned long REGPARAM2 op_a80_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ xor_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a90_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_a98_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_aa0_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_aa8_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ab0_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ab8_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ab9_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c00_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c10_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c18_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c20_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c28_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c30_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c38_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c39_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c3a_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c3b_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c40_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c50_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c58_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c60_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c68_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c70_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c78_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c79_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c7a_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
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=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c7b_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c80_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c90_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c98_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ca0_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_ca8_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cb0_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cb8_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cb9_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cba_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
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=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_cbb_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1000_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1010_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1018_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1020_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1028_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1030_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1038_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1039_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_103a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_103b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_103c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
and_l_ri(dst,0xffffff00);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_b_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1080_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1090_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1098_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10a0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10a8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10b0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10b8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10b9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10ba_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10bb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10bc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_10fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1100_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1110_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1118_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1120_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1128_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1130_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1138_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1139_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_113a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_113b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_113c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1140_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1150_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1158_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1160_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1168_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1170_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1178_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1179_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_117a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_117b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_117c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1180_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1190_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_1198_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11a0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11a8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11b0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11b8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11b9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11ba_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11bb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11bc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_11fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_13fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writebyte(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2000_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2008_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2010_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2018_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2020_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2028_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2030_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2038_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2039_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_203a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_203b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_203c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2040_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2048_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2050_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2058_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2060_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2068_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2070_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2078_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2079_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_207a_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_207b_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_207c_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
mov_l_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2080_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2088_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2090_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2098_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20a0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20a8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20b0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20b8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20b9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20ba_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20bb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20bc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20c8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_20fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,4);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2100_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2108_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2110_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2118_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2120_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2128_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2130_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2138_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2139_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_213a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_213b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_213c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2140_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2148_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_3
unsigned long REGPARAM2 op_2150_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2158_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2160_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2168_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2170_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2178_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2179_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_217a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_217b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_217c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2180_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2188_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2190_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_2198_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21a0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21a8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21b0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21b8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21b9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21ba_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21bb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21bc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21c8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_21fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23c8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_23fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writelong(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3000_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3008_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3010_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3018_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3020_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3028_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3030_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3038_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3039_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_303a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_303b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_303c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
and_l_ri(dst,0xffff0000);
or_l(dst,scratchie);
forget_about(scratchie);
} else
mov_w_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3040_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3048_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3050_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3058_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3060_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3068_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3070_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3078_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3079_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_307a_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_307b_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_307c_0_comp_nf(uae_u32 opcode) /* MOVEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
{ int tmps=scratchie++;
sign_extend_16_rr(dst,src);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3080_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3088_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3090_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3098_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30a0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30a8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30b0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30b8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30b9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30ba_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30bb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30bc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30c8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_30fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
lea_l_brr(dstreg+8,dstreg+8,2);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3100_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3108_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3110_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3118_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3120_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3128_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3130_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3138_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3139_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_313a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_313b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_313c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3140_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3148_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3150_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3158_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3160_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3168_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3170_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3178_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3179_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_317a_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_317b_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_317c_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3180_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3188_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3190_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_3198_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31a0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31a8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31b0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31b8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31b9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31ba_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31bb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31bc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31c8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_31fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33c0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33c8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33d0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33d8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33e0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33e8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33f0_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33f8_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33f9_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33fa_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33fb_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_33fc_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
writeword(dsta,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4000_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_b_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4010_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4018_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4020_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4028_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4030_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4038_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4039_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4040_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4050_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4058_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4060_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4068_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4070_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4078_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4079_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4080_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4090_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4098_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40a0_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40a8_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40b0_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40b8_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_40b9_0_comp_nf(uae_u32 opcode) /* NEGX */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41d0_0_comp_nf(uae_u32 opcode) /* LEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41e8_0_comp_nf(uae_u32 opcode) /* LEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41f0_0_comp_nf(uae_u32 opcode) /* LEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41f8_0_comp_nf(uae_u32 opcode) /* LEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41f9_0_comp_nf(uae_u32 opcode) /* LEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41fa_0_comp_nf(uae_u32 opcode) /* LEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_41fb_0_comp_nf(uae_u32 opcode) /* LEA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if((uae_u32)dstreg+8!=(uae_u32)srca)
mov_l_rr(dstreg+8,srca);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4200_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_b_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4210_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4218_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4220_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4228_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4230_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4238_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4239_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
mov_l_ri(dst,0);
writebyte(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4240_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4250_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4258_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4260_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4268_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4270_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4278_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4279_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
mov_l_ri(dst,0);
writeword(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4280_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4290_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_4
unsigned long REGPARAM2 op_4298_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42a0_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42a8_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42b0_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42b8_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
mov_l_ri(dst,0);
writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_42b9_0_comp_nf(uae_u32 opcode) /* CLR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
mov_l_ri(dst,0);
writelong(srca,dst,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4400_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_b(dst,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_b_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4410_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4418_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4420_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_b(dst,src);
writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4428_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4430_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4438_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4439_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_b(dst,src);
writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4440_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_w(dst,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4450_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4458_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4460_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_w(dst,src);
writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4468_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4470_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4478_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4479_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_w(dst,src);
writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4480_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_l(dst,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4490_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4498_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44a0_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_l(dst,src);
writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44a8_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44b0_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44b8_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_44b9_0_comp_nf(uae_u32 opcode) /* NEG */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0);
dont_care_flags();
sub_l(dst,src);
writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4600_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_b_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4610_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4618_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4620_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4628_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4630_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4638_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4639_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4640_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4650_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4658_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4660_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4668_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4670_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4678_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4679_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4680_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ xor_l(dst,src);
} if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4690_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ xor_l(dst,src);
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4698_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ xor_l(dst,src);
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46a0_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ xor_l(dst,src);
} writelong(srca,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46a8_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ xor_l(dst,src);
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46b0_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ xor_l(dst,src);
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46b8_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ xor_l(dst,src);
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_46b9_0_comp_nf(uae_u32 opcode) /* NOT */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=scratchie++;
mov_l_ri(dst,0xffffffff);
dont_care_flags();
{ xor_l(dst,src);
} writelong(srca,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4808_0_comp_nf(uae_u32 opcode) /* LINK */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int offs = scratchie++;
mov_l_ri(offs,comp_get_ilong((m68k_pc_offset+=4)-4));
sub_l_ri(15,4);
writelong_clobber(15,src,scratchie);
mov_l_rr(src,15);
add_l(15,offs);
if((uae_u32)srcreg+8!=(uae_u32)src)
mov_l_rr(srcreg+8,src);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4840_0_comp_nf(uae_u32 opcode) /* SWAP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
rol_l_ri(src,16);
if((uae_u32)srcreg!=(uae_u32)src)
mov_l_rr(srcreg,src);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4850_0_comp_nf(uae_u32 opcode) /* PEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if (srcreg==7) dodgy=1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4868_0_comp_nf(uae_u32 opcode) /* PEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if (srcreg==7) dodgy=1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4870_0_comp_nf(uae_u32 opcode) /* PEA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if (srcreg==7) dodgy=1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4878_0_comp_nf(uae_u32 opcode) /* PEA */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4879_0_comp_nf(uae_u32 opcode) /* PEA */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_487a_0_comp_nf(uae_u32 opcode) /* PEA */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_487b_0_comp_nf(uae_u32 opcode) /* PEA */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{{ int dsta=dodgy?scratchie++:7+8;
lea_l_brr(7+8,7+8,-4);
if (dodgy)
mov_l_rr(dsta,8+7);
writelong(dsta,srca,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4880_0_comp_nf(uae_u32 opcode) /* EXT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ int dst = scratchie++;
sign_extend_8_rr(dst,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_w_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4890_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48a0_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,8+dstreg);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
offset-=2;
mov_l_rr(tmp,15-i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
}
} lea_l_brr(8+dstreg,srca,(uae_s32)offset);
} else {
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
sub_l_ri(srca,2);
writeword(srca,15-i,scratchie);
}
} mov_l_rr(8+dstreg,srca);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48a8_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,8+dstreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48b0_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48b8_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48b9_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_16(tmp);
mov_w_Rr(native,tmp,offset);
offset+=2;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writeword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48c0_0_comp_nf(uae_u32 opcode) /* EXT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ int dst = src;
sign_extend_16_rr(src,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48d0_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48e0_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,8+dstreg);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
offset-=4;
mov_l_rr(tmp,15-i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
}
} lea_l_brr(8+dstreg,srca,(uae_s32)offset);
} else {
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
sub_l_ri(srca,4);
writelong(srca,15-i,scratchie);
}
} mov_l_rr(8+dstreg,srca);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48e8_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,8+dstreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48f0_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48f8_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_48f9_0_comp_nf(uae_u32 opcode) /* MVMLE */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int tmp=scratchie++;
signed char offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rr(tmp,i);
gen_bswap_32(tmp);
mov_l_Rr(native,tmp,offset);
offset+=4;
}
} } else {
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
writelong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_49c0_0_comp_nf(uae_u32 opcode) /* EXT */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
dont_care_flags();
{ int dst = src;
sign_extend_8_rr(src,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a00_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a10_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a18_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a20_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a28_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a30_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a38_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a39_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a3a_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a3b_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a3c_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a40_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a48_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a50_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a58_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a60_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a68_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a70_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a78_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a79_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a7a_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a7b_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a7c_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a80_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a88_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a90_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4a98_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4aa0_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4aa8_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ab0_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ab8_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ab9_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4aba_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4abb_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4abc_0_comp_nf(uae_u32 opcode) /* TST */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c00_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dst=dstreg;
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c10_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c18_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c20_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c28_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c30_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c38_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c39_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c3a_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dsta=scratchie++;
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=scratchie++;
readlong(dsta,dst,scratchie);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c3b_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int pctmp=scratchie++;
int dsta=scratchie++;
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,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
if (extra&0x0400) {
int r3=(extra&7);
mov_l_rr(r3,dst);
if (extra&0x0800) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c3c_0_comp_nf(uae_u32 opcode) /* MULL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
int r2=(extra>>12)&7;
int tmp=scratchie++;
{ int dst = scratchie++;
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) {
imul_64_32(r2,r3);
} else {
mul_64_32(r2,r3);
}
} else {
imul_32_32(r2,dst);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c90_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4c98_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} lea_l_brr(8+dstreg,srca,offset);
} else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} mov_l_rr(8+dstreg,tmp);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ca8_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,8+dstreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cb0_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cb8_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cb9_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cba_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
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 (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cbb_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_w_rR(i,native,offset);
gen_bswap_16(i);
sign_extend_16_rr(i,i);
offset+=2;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readword(tmp,i,scratchie);
add_l_ri(tmp,2);
}
} }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cd0_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cd8_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,dstreg+8);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} lea_l_brr(8+dstreg,srca,offset);
} else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} mov_l_rr(8+dstreg,tmp);
}
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ce8_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
mov_l_rr(srca,8+dstreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cf0_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cf8_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cf9_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cfa_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int srca=scratchie++;
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 (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4cfb_0_comp_nf(uae_u32 opcode) /* MVMEL */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 mask = comp_get_iword((m68k_pc_offset+=2)-2);
int native=scratchie++;
int i;
int offset=0;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
if (1 && !special_mem) {
get_n_addr(srca,native,scratchie);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
mov_l_rR(i,native,offset);
gen_bswap_32(i);
offset+=4;
}
} } else {
int tmp=scratchie++;
mov_l_rr(tmp,srca);
for (i=0;i<16;i++) {
if ((mask>>i)&1) {
readlong(tmp,i,scratchie);
add_l_ri(tmp,4);
}
} }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e50_0_comp_nf(uae_u32 opcode) /* LINK */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sub_l_ri(15,4);
writelong_clobber(15,src,scratchie);
mov_l_rr(src,15);
sign_extend_16_rr(offs,offs);
add_l(15,offs);
if((uae_u32)srcreg+8!=(uae_u32)src)
mov_l_rr(srcreg+8,src);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e58_0_comp_nf(uae_u32 opcode) /* UNLK */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
mov_l_rr(15,src);
readlong(15,src,scratchie);
add_l_ri(15,4);
if((uae_u32)srcreg+8!=(uae_u32)src)
mov_l_rr(srcreg+8,src);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e71_0_comp_nf(uae_u32 opcode) /* NOP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e74_0_comp_nf(uae_u32 opcode) /* RTD */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
add_l_ri(offs,4);
{ int newad=scratchie++;
readlong(15,newad,scratchie);
and_l_ri(newad,~1);
mov_l_mr((uae_u32)&regs.pc,newad);
get_n_addr_jmp(newad,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
add_l(15,offs);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e75_0_comp_nf(uae_u32 opcode) /* RTS */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int newad=scratchie++;
readlong(15,newad,scratchie);
and_l_ri(newad,~1);
mov_l_mr((uae_u32)&regs.pc,newad);
get_n_addr_jmp(newad,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
lea_l_brr(15,15,4);
} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4e90_0_comp_nf(uae_u32 opcode) /* JSR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ea8_0_comp_nf(uae_u32 opcode) /* JSR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,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=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4eb0_0_comp_nf(uae_u32 opcode) /* JSR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4eb8_0_comp_nf(uae_u32 opcode) /* JSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
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=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4eb9_0_comp_nf(uae_u32 opcode) /* JSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
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=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4eba_0_comp_nf(uae_u32 opcode) /* JSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ebb_0_comp_nf(uae_u32 opcode) /* JSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ed0_0_comp_nf(uae_u32 opcode) /* JMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ee8_0_comp_nf(uae_u32 opcode) /* JMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ef0_0_comp_nf(uae_u32 opcode) /* JMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ef8_0_comp_nf(uae_u32 opcode) /* JMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4ef9_0_comp_nf(uae_u32 opcode) /* JMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4efa_0_comp_nf(uae_u32 opcode) /* JMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_4efb_0_comp_nf(uae_u32 opcode) /* JMP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
and_l_ri(srca,~1);
mov_l_mr((uae_u32)&regs.pc,srca);
get_n_addr_jmp(srca,PC_P,scratchie);
mov_l_mr((uae_u32)&regs.pc_oldp,PC_P);
m68k_pc_offset=0;
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5000_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5010_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5018_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5020_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5028_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5030_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5038_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_5
unsigned long REGPARAM2 op_5039_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5040_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5048_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5050_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5058_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5060_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5068_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5070_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5078_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5079_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5080_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5088_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5090_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5098_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50a0_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50a8_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50b0_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50b8_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50b9_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50c0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50c8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50d0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50d8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50e0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50e8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50f0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50f8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_50f9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
mov_l_ri(val,0);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5100_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5110_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5118_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5120_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5128_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5130_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5138_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5139_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5140_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5148_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5150_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5158_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5160_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5168_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5170_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5178_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5179_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5180_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5188_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5190_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5198_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51a0_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51a8_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51b0_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51b8_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51b9_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51c0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51c8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
start_needflags();
sub_w_ri(src,1);
end_needflags();
{ uae_u32 v2,v;
uae_u32 v1=get_const(PC_P);
v2=get_const(offs);
register_branch(v1,v2,3);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51d0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51d8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51e0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51e8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51f0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51f8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_51f9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
mov_l_ri(val,1);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52c0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52c8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,7);
cmov_l_rr(src,nsrc,7);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52d0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52d8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52e0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52e8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52f0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52f8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_52f9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,6);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53c0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53c8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,6);
cmov_l_rr(src,nsrc,6);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53d0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53d8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53e0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53e8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53f0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53f8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_53f9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,7);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54c0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54c8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,3);
cmov_l_rr(src,nsrc,3);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54d0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54d8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54e0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54e8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54f0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54f8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_54f9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,2);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55c0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55c8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,2);
cmov_l_rr(src,nsrc,2);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55d0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55d8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55e0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55e8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55f0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55f8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_55f9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,3);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56c0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56c8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,5);
cmov_l_rr(src,nsrc,5);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56d0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56d8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56e0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56e8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56f0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56f8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_56f9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,4);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57c0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57c8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,4);
cmov_l_rr(src,nsrc,4);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57d0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57d8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57e0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57e8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57f0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57f8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_57f9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,5);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ac0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ac8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,9);
cmov_l_rr(src,nsrc,9);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ad0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ad8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ae0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ae8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5af0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5af8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5af9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,8);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bc0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bc8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,8);
cmov_l_rr(src,nsrc,8);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bd0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bd8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5be0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5be8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bf0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bf8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5bf9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,9);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cc0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cc8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,13);
cmov_l_rr(src,nsrc,13);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cd0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cd8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ce0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ce8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cf0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cf8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5cf9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,12);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5dc0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5dc8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,12);
cmov_l_rr(src,nsrc,12);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5dd0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5dd8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5de0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5de8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5df0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5df8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5df9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,13);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ec0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ec8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,15);
cmov_l_rr(src,nsrc,15);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ed0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ed8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ee0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ee8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ef0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ef8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ef9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,14);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fc0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
if((uae_u32)srcreg!=(uae_u32)val)
mov_b_rr(srcreg,val);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fc8_0_comp_nf(uae_u32 opcode) /* DBcc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int offs = scratchie++;
mov_l_ri(offs,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(offs,offs);
sub_l_ri(offs,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(offs,(uae_u32)comp_pc_p);
add_l_ri(offs,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
{ int nsrc=scratchie++;
make_flags_live();
mov_l_rr(nsrc,src);
lea_l_brr(scratchie,src,(uae_s32)-1);
mov_w_rr(src,scratchie);
cmov_l_rr(offs,PC_P,14);
cmov_l_rr(src,nsrc,14);
start_needflags();
test_w_rr(nsrc,nsrc);
end_needflags();
cmov_l_rr(PC_P,offs,5);
if((uae_u32)srcreg!=(uae_u32)src)
mov_w_rr(srcreg,src);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fd0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fd8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fe0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5fe8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ff0_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_5ff8_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_6
unsigned long REGPARAM2 op_5ff9_0_comp_nf(uae_u32 opcode) /* Scc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int val = scratchie++;
make_flags_live();
setcc(val,15);
sub_b_ri(val,1);
writebyte(srca,val,scratchie);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6000_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
mov_l_rr(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6001_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
mov_l_rr(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_60ff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
add_l_ri(PC_P,m68k_pc_offset);
m68k_pc_offset=0;
mov_l_rr(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6100_0_comp_nf(uae_u32 opcode) /* BSR */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
and_l_ri(src,~1);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
add_l_ri(src,m68k_pc_offset_thisinst+2);
m68k_pc_offset=0;
add_l(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6101_0_comp_nf(uae_u32 opcode) /* BSR */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
and_l_ri(src,~1);
{ uae_u32 retadd=start_pc+((char *)comp_pc_p-(char *)start_pc_p)+m68k_pc_offset;
int ret=scratchie++;
mov_l_ri(ret,retadd);
sub_l_ri(15,4);
writelong_clobber(15,ret,scratchie);
add_l_ri(src,m68k_pc_offset_thisinst+2);
m68k_pc_offset=0;
add_l(PC_P,src);
comp_pc_p=(void*)get_const(PC_P);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6200_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6201_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_62ff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6300_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6301_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_63ff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6400_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6401_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_64ff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6500_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6501_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_65ff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6600_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6601_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_66ff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6700_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6701_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_67ff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6a00_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6a01_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6aff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b00_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6b01_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6bff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6c00_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6c01_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6cff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6d00_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6d01_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6dff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6e00_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,15);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6e01_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,15);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6eff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,15);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6f00_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
sign_extend_16_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,14);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6f01_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
sign_extend_8_rr(src,src);
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,14);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_6fff_0_comp_nf(uae_u32 opcode) /* Bcc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u32 v,v1,v2;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
and_l_ri(src,~1);
sub_l_ri(src,m68k_pc_offset-m68k_pc_offset_thisinst-2);
add_l_ri(src,(uae_u32)comp_pc_p);
mov_l_ri(PC_P,(uae_u32)comp_pc_p);
add_l_ri(src,m68k_pc_offset);
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,14);
make_flags_live();
}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_7000_0_comp_nf(uae_u32 opcode) /* MOVE */
{
uae_s32 srcreg = (uae_s32)(uae_s8)(opcode & 255);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,srcreg);
{ int dst=dstreg;
dont_care_flags();
mov_l_rr(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8000_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8010_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8018_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8020_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8028_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8030_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8038_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8039_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_803a_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_803b_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_803c_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8040_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8050_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8058_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8060_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8068_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8070_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8078_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8079_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_807a_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_807b_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_807c_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8080_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8090_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8098_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80a0_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80a8_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80b0_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80b8_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80b9_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80ba_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80bb_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_80bc_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
{ or_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8110_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8118_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8120_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8128_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8130_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8138_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8139_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8150_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8158_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8160_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8168_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8170_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8178_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8179_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l(dst,scratchie);
forget_about(scratchie);
} else
or_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8190_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_8198_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81a0_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81a8_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81b0_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81b8_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_81b9_0_comp_nf(uae_u32 opcode) /* OR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ or_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9000_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9010_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9018_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9020_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9028_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9030_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9038_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9039_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_903a_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_903b_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_903c_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
sub_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9040_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9048_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9050_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9058_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9060_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9068_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9070_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9078_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9079_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_907a_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_907b_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_907c_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
sub_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9080_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9088_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9090_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9098_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90a0_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90a8_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90b0_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90b8_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90b9_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90ba_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90bb_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90bc_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
sub_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90c0_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90c8_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90d0_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90d8_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90e0_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90e8_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90f0_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90f8_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90f9_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90fa_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90fb_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_90fc_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9100_0_comp_nf(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
restore_carry();
sbb_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9108_0_comp_nf(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
restore_carry();
sbb_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9110_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9118_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9120_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9128_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9130_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9138_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9139_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
sub_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9140_0_comp_nf(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
restore_carry();
sbb_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9148_0_comp_nf(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
restore_carry();
sbb_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9150_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9158_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9160_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9168_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9170_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9178_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9179_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
sub_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9180_0_comp_nf(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
restore_carry();
sbb_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9188_0_comp_nf(uae_u32 opcode) /* SUBX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
restore_carry();
sbb_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9190_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_9198_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91a0_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91a8_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91b0_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91b8_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91b9_0_comp_nf(uae_u32 opcode) /* SUB */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
sub_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91c0_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91c8_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91d0_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91d8_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91e0_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91e8_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91f0_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91f8_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91f9_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91fa_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91fb_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_91fc_0_comp_nf(uae_u32 opcode) /* SUBA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
sub_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b000_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b010_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b018_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b020_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b028_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b030_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b038_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b039_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b03a_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b03b_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b03c_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b040_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_7
unsigned long REGPARAM2 op_b048_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b050_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b058_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b060_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b068_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b070_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b078_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b079_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b07a_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b07b_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b07c_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(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>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b080_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b088_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b090_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b098_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0a0_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0a8_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0b0_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0b8_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0b9_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0ba_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0bb_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0bc_0_comp_nf(uae_u32 opcode) /* CMP */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0c0_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0c8_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0d0_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0d8_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0e0_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0e8_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0f0_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0f8_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0f9_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0fa_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0fb_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b0fc_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
sign_extend_16_rr(tmps,src);
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b100_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b108_0_comp_nf(uae_u32 opcode) /* CMPM */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b110_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b118_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b120_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b128_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b130_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b138_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b139_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_b(dst,src);
} writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b140_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b148_0_comp_nf(uae_u32 opcode) /* CMPM */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b150_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b158_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b160_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b168_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b170_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b178_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b179_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
{if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
xor_l(dst,scratchie);
forget_about(scratchie);
} else
xor_w(dst,src);
} writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b180_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
{ xor_l(dst,src);
} if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b188_0_comp_nf(uae_u32 opcode) /* CMPM */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
{ dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b190_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b198_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1a0_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1a8_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1b0_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1b8_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1b9_0_comp_nf(uae_u32 opcode) /* EOR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
{ xor_l(dst,src);
} writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1c0_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1c8_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1d0_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1d8_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1e0_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1e8_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1f0_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1f8_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1f9_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1fa_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1fb_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_b1fc_0_comp_nf(uae_u32 opcode) /* CMPA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmps=scratchie++;
tmps=src;
dont_care_flags();
/* Weird --- CMP with noflags ;-) */
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c000_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c010_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c018_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c020_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c028_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c030_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c038_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c039_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c03a_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c03b_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c03c_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c040_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c050_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c058_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c060_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c068_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c070_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c078_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c079_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c07a_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c07b_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c07c_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c080_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c090_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c098_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0a0_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0a8_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0b0_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0b8_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0b9_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0ba_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0bb_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0bc_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
and_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0c0_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int src=srcreg;
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0d0_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0d8_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0e0_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0e8_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0f0_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0f8_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0f9_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0fa_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0fb_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c0fc_0_comp_nf(uae_u32 opcode) /* MULU */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
zero_extend_16_rr(scratchie,src);
zero_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c110_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c118_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c120_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c128_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c130_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c138_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c139_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_8_rr(scratchie,src);
or_l_ri(scratchie,0xffffff00);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c140_0_comp_nf(uae_u32 opcode) /* EXG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ int tmp=scratchie++;
mov_l_rr(tmp,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
if((uae_u32)dstreg!=(uae_u32)tmp)
mov_l_rr(dstreg,tmp);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c148_0_comp_nf(uae_u32 opcode) /* EXG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
mov_l_rr(tmp,src);
if((uae_u32)srcreg+8!=(uae_u32)dst)
mov_l_rr(srcreg+8,dst);
if((uae_u32)dstreg+8!=(uae_u32)tmp)
mov_l_rr(dstreg+8,tmp);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c150_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c158_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c160_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c168_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c170_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c178_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c179_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
if (kill_rodent(dst)) {
zero_extend_16_rr(scratchie,src);
or_l_ri(scratchie,0xffff0000);
and_l(dst,scratchie);
forget_about(scratchie);
} else
and_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c188_0_comp_nf(uae_u32 opcode) /* EXG */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
mov_l_rr(tmp,src);
if((uae_u32)srcreg!=(uae_u32)dst)
mov_l_rr(srcreg,dst);
if((uae_u32)dstreg+8!=(uae_u32)tmp)
mov_l_rr(dstreg+8,tmp);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c190_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c198_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1a0_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1a8_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1b0_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1b8_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1b9_0_comp_nf(uae_u32 opcode) /* AND */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
and_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1c0_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int src=srcreg;
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1d0_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1d8_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1e0_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1e8_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1f0_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1f8_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1f9_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1fa_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1fb_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_c1fc_0_comp_nf(uae_u32 opcode) /* MULS */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
sign_extend_16_rr(scratchie,src);
sign_extend_16_rr(dst,dst);
imul_32_32(dst,scratchie);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d000_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d010_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d018_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,areg_byteinc[srcreg]);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d020_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d028_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d030_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d038_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d039_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d03a_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d03b_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d03c_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s8)comp_get_ibyte((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
add_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d040_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d048_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d050_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d058_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d060_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d068_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d070_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d078_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d079_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d07a_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d07b_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d07c_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dstreg;
dont_care_flags();
add_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d080_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d088_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d090_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d098_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0a0_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0a8_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0b0_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0b8_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0b9_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0ba_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0bb_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0bc_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dstreg;
dont_care_flags();
add_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0c0_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0c8_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0d0_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0d8_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readword(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,2);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0e0_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0e8_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0f0_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0f8_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0f9_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0fa_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0fb_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readword(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d0fc_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
sign_extend_16_rr(tmp,src);
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d100_0_comp_nf(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
restore_carry();
adc_b(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_b_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d108_0_comp_nf(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,(uae_s32)-areg_byteinc[srcreg]);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readbyte(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
{ dont_care_flags();
restore_carry();
adc_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d110_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d118_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,areg_byteinc[dstreg]);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d120_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,(uae_s32)-areg_byteinc[dstreg]);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d128_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d130_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d138_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d139_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readbyte(dsta,dst,scratchie);
dont_care_flags();
add_b(dst,src);
writebyte(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d140_0_comp_nf(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
restore_carry();
adc_w(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_w_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d148_0_comp_nf(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-2);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readword(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
{ dont_care_flags();
restore_carry();
adc_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d150_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d158_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,2);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d160_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-2);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d168_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d170_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d178_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d179_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readword(dsta,dst,scratchie);
dont_care_flags();
add_w(dst,src);
writeword(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d180_0_comp_nf(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dstreg;
{ dont_care_flags();
restore_carry();
adc_l(dst,src);
if((uae_u32)dstreg!=(uae_u32)dst)
mov_l_rr(dstreg,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d188_0_comp_nf(uae_u32 opcode) /* ADDX */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
{ dont_care_flags();
restore_carry();
adc_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d190_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d198_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
lea_l_brr(dstreg+8,dstreg+8,4);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1a0_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{{ int dsta=dodgy?scratchie++:dstreg+8;
lea_l_brr(dstreg+8,dstreg+8,-4);
if (dodgy)
mov_l_rr(dsta,8+dstreg);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1a8_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
mov_l_rr(dsta,8+dstreg);
lea_l_brr(dsta,dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1b0_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta=scratchie++;
calc_disp_ea_020(dstreg+8,comp_get_iword((m68k_pc_offset+=2)-2),dsta,scratchie);
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1b8_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1b9_0_comp_nf(uae_u32 opcode) /* ADD */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dst=scratchie++;
readlong(dsta,dst,scratchie);
dont_care_flags();
add_l(dst,src);
writelong(dsta,dst,scratchie);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1c0_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=srcreg;
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1c8_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(src,srcreg+8);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1d0_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1d8_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int src=scratchie++;
readlong(srca,src,scratchie);
lea_l_brr(srcreg+8,srcreg+8,4);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif
#ifdef PART_8
unsigned long REGPARAM2 op_d1e0_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{{ int srca=dodgy?scratchie++:srcreg+8;
lea_l_brr(srcreg+8,srcreg+8,-4);
if (dodgy)
mov_l_rr(srca,8+srcreg);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1e8_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
mov_l_rr(srca,8+srcreg);
lea_l_brr(srca,srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1f0_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
calc_disp_ea_020(srcreg+8,comp_get_iword((m68k_pc_offset+=2)-2),srca,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1f8_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,(uae_s32)(uae_s16)comp_get_iword((m68k_pc_offset+=2)-2));
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1f9_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1fa_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int srca=scratchie++;
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=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1fb_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int pctmp=scratchie++;
int srca=scratchie++;
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,scratchie);
{ int src=scratchie++;
readlong(srca,src,scratchie);
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_d1fc_0_comp_nf(uae_u32 opcode) /* ADDA */
{
uae_u32 dstreg = (opcode >> 9) & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
{ int src = scratchie++;
mov_l_ri(src,comp_get_ilong((m68k_pc_offset+=4)-4));
{ int dst=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dst,dstreg+8);
{ int tmp=scratchie++;
tmp=src;
add_l(dst,tmp);
if((uae_u32)dstreg+8!=(uae_u32)dst)
mov_l_rr(dstreg+8,dst);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e000_0_comp_nf(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shra_b_ri(data,srcreg);
bp=srcreg-1;
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e008_0_comp_nf(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shrl_b_ri(data,srcreg);
bp=srcreg-1;
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e018_0_comp_nf(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ ror_b_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e020_0_comp_nf(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int width;
int highshift=scratchie++;
shra_b_rr(data,cnt);
highmask=0x38;
width=8;
test_l_ri(cnt,highmask);
mov_l_ri(highshift,0);
mov_l_ri(scratchie,width/2);
cmov_l_rr(highshift,scratchie,5);
shra_b_rr(data,highshift);
shra_b_rr(data,highshift);
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e028_0_comp_nf(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shrl_b_rr(data,cnt);
highmask=0x38;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_b_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e038_0_comp_nf(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ ror_b_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e040_0_comp_nf(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shra_w_ri(data,srcreg);
bp=srcreg-1;
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e048_0_comp_nf(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shrl_w_ri(data,srcreg);
bp=srcreg-1;
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e058_0_comp_nf(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ ror_w_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e060_0_comp_nf(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int width;
int highshift=scratchie++;
shra_w_rr(data,cnt);
highmask=0x30;
width=16;
test_l_ri(cnt,highmask);
mov_l_ri(highshift,0);
mov_l_ri(scratchie,width/2);
cmov_l_rr(highshift,scratchie,5);
shra_w_rr(data,highshift);
shra_w_rr(data,highshift);
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e068_0_comp_nf(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shrl_w_rr(data,cnt);
highmask=0x30;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_w_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e078_0_comp_nf(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ ror_w_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e080_0_comp_nf(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shra_l_ri(data,srcreg);
bp=srcreg-1;
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e088_0_comp_nf(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shrl_l_ri(data,srcreg);
bp=srcreg-1;
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e098_0_comp_nf(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ ror_l_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e0a0_0_comp_nf(uae_u32 opcode) /* ASR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
int width;
int highshift=scratchie++;
shra_l_rr(data,cnt);
highmask=0x20;
width=32;
test_l_ri(cnt,highmask);
mov_l_ri(highshift,0);
mov_l_ri(scratchie,width/2);
cmov_l_rr(highshift,scratchie,5);
shra_l_rr(data,highshift);
shra_l_rr(data,highshift);
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e0a8_0_comp_nf(uae_u32 opcode) /* LSR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shrl_l_rr(data,cnt);
highmask=0x20;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_l_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e0b8_0_comp_nf(uae_u32 opcode) /* ROR */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ ror_l_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e100_0_comp_nf(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_b_ri(data,srcreg);
bp=8-srcreg;
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e108_0_comp_nf(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_b_ri(data,srcreg);
bp=8-srcreg;
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e118_0_comp_nf(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ rol_b_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e120_0_comp_nf(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shll_b_rr(data,cnt);
highmask=0x38;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_b_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e128_0_comp_nf(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shll_b_rr(data,cnt);
highmask=0x38;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_b_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e138_0_comp_nf(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ rol_b_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_b_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e140_0_comp_nf(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_w_ri(data,srcreg);
bp=16-srcreg;
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e148_0_comp_nf(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_w_ri(data,srcreg);
bp=16-srcreg;
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e158_0_comp_nf(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ rol_w_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e160_0_comp_nf(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shll_w_rr(data,cnt);
highmask=0x30;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_w_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e168_0_comp_nf(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shll_w_rr(data,cnt);
highmask=0x30;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_w_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e178_0_comp_nf(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ rol_w_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_w_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e180_0_comp_nf(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_l_ri(data,srcreg);
bp=32-srcreg;
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e188_0_comp_nf(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ int tmp=scratchie++;
int bp;
mov_l_rr(tmp,data);
shll_l_ri(data,srcreg);
bp=32-srcreg;
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e198_0_comp_nf(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = imm8_table[((opcode >> 9) & 7)];
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt = scratchie++;
mov_l_ri(cnt,srcreg);
{ int data=dstreg;
{ rol_l_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e1a0_0_comp_nf(uae_u32 opcode) /* ASL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
if (needed_flags & FLAG_V) {
FAIL(1);
return 0;
}
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shll_l_rr(data,cnt);
highmask=0x20;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_l_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_e1a8_0_comp_nf(uae_u32 opcode) /* LSL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ int highmask;
shll_l_rr(data,cnt);
highmask=0x20;
test_l_ri(cnt,highmask);
mov_l_ri(scratchie,0);
cmov_l_rr(scratchie,data,4);
mov_l_rr(data,scratchie);
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_e1b8_0_comp_nf(uae_u32 opcode) /* ROL */
{
uae_s32 srcreg = ((opcode >> 9) & 7);
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
if ((uae_u32)srcreg==(uae_u32)dstreg) {
FAIL(1);
return 0;
}
{ dont_care_flags();
{ int cnt=srcreg;
{ int data=dstreg;
{ rol_l_rr(data,cnt);
if((uae_u32)dstreg!=(uae_u32)data)
mov_l_rr(dstreg,data);
}}}}} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f200_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f208_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f210_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f218_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f220_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f228_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f230_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f238_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f239_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f23a_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_s32 dstreg = 2;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f23b_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_s32 dstreg = 3;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f23c_0_comp_nf(uae_u32 opcode) /* FPP */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fpp_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f240_0_comp_nf(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f250_0_comp_nf(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f258_0_comp_nf(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f260_0_comp_nf(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f268_0_comp_nf(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f270_0_comp_nf(uae_u32 opcode) /* FScc */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f278_0_comp_nf(uae_u32 opcode) /* FScc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f279_0_comp_nf(uae_u32 opcode) /* FScc */
{
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
uae_u16 extra=comp_get_iword((m68k_pc_offset+=2)-2);
comp_fscc_opp(opcode,extra);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f280_0_comp_nf(uae_u32 opcode) /* FBcc */
{
uae_s32 srcreg = (opcode & 63);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
comp_fbcc_opp(opcode);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f2c0_0_comp_nf(uae_u32 opcode) /* FBcc */
{
uae_s32 srcreg = (opcode & 63);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
comp_fbcc_opp(opcode);
} if (m68k_pc_offset>100) sync_m68k_pc();
if (failure) m68k_pc_offset=m68k_pc_offset_thisinst;
return 0;
}
unsigned long REGPARAM2 op_f600_0_comp_nf(uae_u32 opcode) /* MOVE16 */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
{ int srca=scratchie++;
mov_l_rr(srca,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
mov_l_rr(src,srca);
mov_l_rr(dst,dsta);
and_l_ri(src,~15);
and_l_ri(dst,~15);
add_l_ri(srcreg+8,16);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_f608_0_comp_nf(uae_u32 opcode) /* MOVE16 */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dsta=scratchie++;
mov_l_rr(dsta,dstreg+8);
mov_l_rr(src,srca);
mov_l_rr(dst,dsta);
and_l_ri(src,~15);
and_l_ri(dst,~15);
add_l_ri(dstreg+8,16);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_f610_0_comp_nf(uae_u32 opcode) /* MOVE16 */
{
uae_s32 srcreg = (opcode & 7);
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
{ int srca=dodgy?scratchie++:srcreg+8;
if (dodgy)
mov_l_rr(srca,srcreg+8);
{ int dsta = scratchie++;
mov_l_ri(dsta,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
mov_l_rr(src,srca);
mov_l_rr(dst,dsta);
and_l_ri(src,~15);
and_l_ri(dst,~15);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_f618_0_comp_nf(uae_u32 opcode) /* MOVE16 */
{
uae_u32 dstreg = opcode & 7;
uae_u32 dodgy=0;
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
{ int srca = scratchie++;
mov_l_ri(srca,comp_get_ilong((m68k_pc_offset+=4)-4)); /* absl */
{ int dsta=dodgy?scratchie++:dstreg+8;
if (dodgy)
mov_l_rr(dsta,dstreg+8);
mov_l_rr(src,srca);
mov_l_rr(dst,dsta);
and_l_ri(src,~15);
and_l_ri(dst,~15);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
}}} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
unsigned long REGPARAM2 op_f620_0_comp_nf(uae_u32 opcode) /* MOVE16 */
{
uae_s32 srcreg = (opcode & 7);
uae_s32 dstreg = 0;
uae_u32 dodgy=(srcreg==(uae_s32)dstreg);
uae_u32 m68k_pc_offset_thisinst=m68k_pc_offset;
m68k_pc_offset+=2;
{ uae_u8 scratchie=S1;
int src=scratchie++;
int dst=scratchie++;
uae_u16 dstreg=((comp_get_iword((m68k_pc_offset+=2)-2))>>12)&0x07;
mov_l_rr(src,8+srcreg);
mov_l_rr(dst,8+dstreg);
and_l_ri(src,~15);
and_l_ri(dst,~15);
if (srcreg != dstreg)
add_l_ri(srcreg+8,16);
add_l_ri(dstreg+8,16);
if (special_mem) {
int tmp=scratchie;
scratchie+=4;
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
add_l_ri(src,4);
add_l_ri(dst,4);
readlong(src,tmp,scratchie);
writelong_clobber(dst,tmp,scratchie);
} else {
int tmp=scratchie;
scratchie+=4;
get_n_addr(src,src,scratchie);
get_n_addr(dst,dst,scratchie);
mov_l_rR(tmp+0,src,0);
mov_l_rR(tmp+1,src,4);
mov_l_rR(tmp+2,src,8);
mov_l_rR(tmp+3,src,12);
mov_l_Rr(dst,tmp+0,0);
forget_about(tmp+0);
mov_l_Rr(dst,tmp+1,4);
forget_about(tmp+1);
mov_l_Rr(dst,tmp+2,8);
forget_about(tmp+2);
mov_l_Rr(dst,tmp+3,12); }
} if (m68k_pc_offset>100) sync_m68k_pc();
return 0;
}
#endif