1227 lines
31 KiB
C
Executable file
1227 lines
31 KiB
C
Executable file
#include "shared.h"
|
|
|
|
#include "memory.h"
|
|
#include "custom.h"
|
|
#include "newcpu.h"
|
|
#include "cputbl.h"
|
|
void op_3000(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}
|
|
void op_3008(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}
|
|
void op_3010(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}
|
|
void op_3018(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}}
|
|
void op_3020(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}}
|
|
void op_3028(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}
|
|
void op_3030(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}}
|
|
void op_3038(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}
|
|
void op_3039(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}
|
|
void op_303a(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}}
|
|
void op_303b(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}}
|
|
void op_303c(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = nextiword();
|
|
{ VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
regs.d[dstreg] &= ~0xffff; regs.d[dstreg] |= (src) & 0xffff;
|
|
}}}}
|
|
void op_3040(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}
|
|
void op_3048(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}
|
|
void op_3050(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}
|
|
void op_3058(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}}
|
|
void op_3060(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}}
|
|
void op_3068(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}
|
|
void op_3070(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}}
|
|
void op_3078(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}
|
|
void op_3079(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}
|
|
void op_307a(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}}
|
|
void op_307b(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}}
|
|
void op_307c(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = nextiword();
|
|
{ regs.a[dstreg] = (LONG)(WORD)(src);
|
|
}}}}
|
|
void op_3080(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3088(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3090(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3098(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30a0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30a8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_30b0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30b8(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_30b9(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_30ba(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30bb(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30bc(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = nextiword();
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_30c0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30c8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30d0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30d8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_30e0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_30e8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30f0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_30f8(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30f9(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_30fa(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_30fb(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_30fc(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = nextiword();
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
{ regs.a[dstreg] += 2;
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3100(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3108(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3110(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3118(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_3120(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_3128(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3130(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_3138(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3139(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_313a(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_313b(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}}
|
|
void op_313c(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = nextiword();
|
|
{ regs.a[dstreg] -= 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3140(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3148(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3150(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3158(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3160(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3168(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3170(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_3178(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3179(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_317a(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_317b(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_317c(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = nextiword();
|
|
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3180(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3188(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3190(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_3198(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31a0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31a8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31b0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31b8(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31b9(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31ba(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31bb(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31bc(ULONG opcode)
|
|
{
|
|
ULONG dstreg = (opcode & 3584) >> 9;
|
|
{{ WORD src = nextiword();
|
|
{ CPTR dsta = regs.a[dstreg];
|
|
dsta = get_disp_ea (dsta, nextiword());
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31c0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31c8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31d0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31d8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31e0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31e8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31f0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31f8(ULONG opcode)
|
|
{
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31f9(ULONG opcode)
|
|
{
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_31fa(ULONG opcode)
|
|
{
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31fb(ULONG opcode)
|
|
{
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_31fc(ULONG opcode)
|
|
{
|
|
{{ WORD src = nextiword();
|
|
{ CPTR dsta = (LONG)(WORD)nextiword();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_33c0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ WORD src = regs.d[srcreg];
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_33c8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ WORD src = regs.a[srcreg];
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_33d0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_33d8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ regs.a[srcreg] += 2;
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_33e0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ regs.a[srcreg] -= 2;
|
|
{ CPTR srca = regs.a[srcreg];
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_33e8(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ CPTR srca = regs.a[srcreg] + (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_33f0(ULONG opcode)
|
|
{
|
|
ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);
|
|
{{ CPTR srca = regs.a[srcreg];
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_33f8(ULONG opcode)
|
|
{
|
|
{{ CPTR srca = (LONG)(WORD)nextiword();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_33f9(ULONG opcode)
|
|
{
|
|
{{ CPTR srca = nextilong();
|
|
WORD src = get_word(srca);
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|
|
void op_33fa(ULONG opcode)
|
|
{
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca += (LONG)(WORD)nextiword();
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_33fb(ULONG opcode)
|
|
{
|
|
{{ CPTR srca = m68k_getpc();
|
|
srca = get_disp_ea (srca, nextiword());
|
|
{ WORD src = get_word(srca);
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}}
|
|
void op_33fc(ULONG opcode)
|
|
{
|
|
{{ WORD src = nextiword();
|
|
{ CPTR dsta = nextilong();
|
|
VFLG = CFLG = 0;
|
|
ZFLG = ((WORD)(src)) == 0;
|
|
NFLG = ((WORD)(src)) < 0;
|
|
put_word(dsta,src);
|
|
}}}}
|