📄 opcode0.c
字号:
dst ^= (1 << src);
regs.d[dstreg].D = (dst);
}}}}
void op_850(void) /* BCHG */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}
void op_858(void) /* BCHG */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
{ regs.a[dstreg] += areg_byteinc[dstreg];
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_860(void) /* BCHG */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ regs.a[dstreg] -= areg_byteinc[dstreg];
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_868(void) /* BCHG */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}
void op_870(void) /* BCHG */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = get_disp_ea(regs.a[dstreg]);
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_878(void) /* BCHG */
{
{{ WORD src = nextiword();
{ CPTR dsta = (LONG)(WORD)nextiword();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}
void op_879(void) /* BCHG */
{
{{ WORD src = nextiword();
{ CPTR dsta = nextilong();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}
void op_87a(void) /* BCHG */
{
ULONG dstreg;
dstreg = 2;
{{ WORD src = nextiword();
{ CPTR dsta = m68k_getpc();
dsta += (LONG)(WORD)nextiword();
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_87b(void) /* BCHG */
{
ULONG dstreg;
dstreg = 3;
{{ WORD src = nextiword();
{ CPTR dsta = get_disp_ea(m68k_getpc());
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst ^= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_880(void) /* BCLR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ LONG dst = regs.d[dstreg].D;
src &= 31;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
regs.d[dstreg].D = (dst);
}}}}
void op_890(void) /* BCLR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}
void op_898(void) /* BCLR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
{ regs.a[dstreg] += areg_byteinc[dstreg];
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}}
void op_8a0(void) /* BCLR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ regs.a[dstreg] -= areg_byteinc[dstreg];
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}}
void op_8a8(void) /* BCLR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}
void op_8b0(void) /* BCLR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = get_disp_ea(regs.a[dstreg]);
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}}
void op_8b8(void) /* BCLR */
{
{{ WORD src = nextiword();
{ CPTR dsta = (LONG)(WORD)nextiword();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}
void op_8b9(void) /* BCLR */
{
{{ WORD src = nextiword();
{ CPTR dsta = nextilong();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}
void op_8ba(void) /* BCLR */
{
ULONG dstreg;
dstreg = 2;
{{ WORD src = nextiword();
{ CPTR dsta = m68k_getpc();
dsta += (LONG)(WORD)nextiword();
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}}
void op_8bb(void) /* BCLR */
{
ULONG dstreg;
dstreg = 3;
{{ WORD src = nextiword();
{ CPTR dsta = get_disp_ea(m68k_getpc());
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst &= ~(1 << src);
put_byte(dsta,dst);
}}}}}
void op_8c0(void) /* BSET */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ LONG dst = regs.d[dstreg].D;
src &= 31;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
regs.d[dstreg].D = (dst);
}}}}
void op_8d0(void) /* BSET */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}
void op_8d8(void) /* BSET */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
{ regs.a[dstreg] += areg_byteinc[dstreg];
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_8e0(void) /* BSET */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ regs.a[dstreg] -= areg_byteinc[dstreg];
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_8e8(void) /* BSET */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}
void op_8f0(void) /* BSET */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = get_disp_ea(regs.a[dstreg]);
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_8f8(void) /* BSET */
{
{{ WORD src = nextiword();
{ CPTR dsta = (LONG)(WORD)nextiword();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}
void op_8f9(void) /* BSET */
{
{{ WORD src = nextiword();
{ CPTR dsta = nextilong();
BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}
void op_8fa(void) /* BSET */
{
ULONG dstreg;
dstreg = 2;
{{ WORD src = nextiword();
{ CPTR dsta = m68k_getpc();
dsta += (LONG)(WORD)nextiword();
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_8fb(void) /* BSET */
{
ULONG dstreg;
dstreg = 3;
{{ WORD src = nextiword();
{ CPTR dsta = get_disp_ea(m68k_getpc());
{ BYTE dst = get_byte(dsta);
src &= 7;
ZFLG = !(dst & (1 << src));
dst |= (1 << src);
put_byte(dsta,dst);
}}}}}
void op_a00(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ BYTE src = nextiword();
{ BYTE dst = regs.d[dstreg].B.l;
src ^= dst;
regs.d[dstreg].B.l = src;
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}
void op_a10(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ BYTE src = nextiword();
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
src ^= dst;
put_byte(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}
void op_a18(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ BYTE src = nextiword();
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
{ regs.a[dstreg] += areg_byteinc[dstreg];
src ^= dst;
put_byte(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}}
void op_a20(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ BYTE src = nextiword();
{ regs.a[dstreg] -= areg_byteinc[dstreg];
{ CPTR dsta = regs.a[dstreg];
BYTE dst = get_byte(dsta);
src ^= dst;
put_byte(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}}
void op_a28(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ BYTE src = nextiword();
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
BYTE dst = get_byte(dsta);
src ^= dst;
put_byte(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}
void op_a30(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ BYTE src = nextiword();
{ CPTR dsta = get_disp_ea(regs.a[dstreg]);
{ BYTE dst = get_byte(dsta);
src ^= dst;
put_byte(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}}
void op_a38(void) /* EOR */
{
{{ BYTE src = nextiword();
{ CPTR dsta = (LONG)(WORD)nextiword();
BYTE dst = get_byte(dsta);
src ^= dst;
put_byte(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}
void op_a39(void) /* EOR */
{
{{ BYTE src = nextiword();
{ CPTR dsta = nextilong();
BYTE dst = get_byte(dsta);
src ^= dst;
put_byte(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}
void op_a3c(void) /* EORSR */
{
{ MakeSR();
{ WORD src = nextiword();
src &= 0xFF;
regs.sr ^= src;
MakeFromSR();
}}}
void op_a40(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ WORD dst = regs.d[dstreg].W.l;
src ^= dst;
regs.d[dstreg].W.l = src;
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}
void op_a50(void) /* EOR */
{
ULONG dstreg = opcode & 7;
WORD src = nextiword();
CPTR dsta = regs.a[dstreg];
WORD dst = get_word(dsta);
src ^= dst;
put_word(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}
void op_a58(void) /* EOR */
{
ULONG dstreg = opcode & 7;
WORD src = nextiword();
CPTR dsta = regs.a[dstreg];
WORD dst = get_word(dsta);
src ^= dst;
put_word(dsta,src);
regs.a[dstreg] += 2;
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}
void op_a60(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ regs.a[dstreg] -= 2;
{ CPTR dsta = regs.a[dstreg];
WORD dst = get_word(dsta);
src ^= dst;
put_word(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}}
void op_a68(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = regs.a[dstreg] + (LONG)(WORD)nextiword();
WORD dst = get_word(dsta);
src ^= dst;
put_word(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
{
ZFLG = ZTRUE;
}
else
{
NFLG = NTRUE;
}
}
}}}}
void op_a70(void) /* EOR */
{
ULONG dstreg = opcode & 7;
{{ WORD src = nextiword();
{ CPTR dsta = get_disp_ea(regs.a[dstreg]);
{ WORD dst = get_word(dsta);
src ^= dst;
put_word(dsta,src);
CLEARFLGS;
if ( src <= 0 )
{
if ( src == 0 )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -