📄 cpu0.c
字号:
ZFLG = !(dst & (1 << src)); dst ^= (1 << src); put_byte(dsta,dst);}}}}void op_858(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta);{ (Shptr->regs).a[dstreg] += areg_byteinc[dstreg]; src &= 7; ZFLG = !(dst & (1 << src)); dst ^= (1 << src); put_byte(dsta,dst);}}}}}void op_860(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ (Shptr->regs).a[dstreg] -= areg_byteinc[dstreg];{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst ^= (1 << src); put_byte(dsta,dst);}}}}}void op_868(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->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(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; dsta = get_disp_ea (dsta, nextiword());{ BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst ^= (1 << src); put_byte(dsta,dst);}}}}}void op_878(ULONG opcode){{{ 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(ULONG opcode){{{ 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(ULONG opcode){/* ULONG dstreg = (LONG)(BYTE)2; */{{ WORD src = nextiword();{ CPTR dsta = MC68000_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(ULONG opcode){/* ULONG dstreg = (LONG)(BYTE)3; */{{ WORD src = nextiword();{ CPTR dsta = MC68000_getpc(); dsta = get_disp_ea (dsta, nextiword());{ BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst ^= (1 << src); put_byte(dsta,dst);}}}}}void op_880(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ LONG dst = (Shptr->regs).d[dstreg]; src &= 31; ZFLG = !(dst & (1 << src)); dst &= ~(1 << src); (Shptr->regs).d[dstreg] = (dst);}}}}void op_890(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst &= ~(1 << src); put_byte(dsta,dst);}}}}void op_898(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta);{ (Shptr->regs).a[dstreg] += areg_byteinc[dstreg]; src &= 7; ZFLG = !(dst & (1 << src)); dst &= ~(1 << src); put_byte(dsta,dst);}}}}}void op_8a0(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ (Shptr->regs).a[dstreg] -= areg_byteinc[dstreg];{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst &= ~(1 << src); put_byte(dsta,dst);}}}}}void op_8a8(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->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(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; dsta = get_disp_ea (dsta, nextiword());{ BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst &= ~(1 << src); put_byte(dsta,dst);}}}}}void op_8b8(ULONG opcode){{{ 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(ULONG opcode){{{ 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(ULONG opcode){/* ULONG dstreg = (LONG)(BYTE)2; */{{ WORD src = nextiword();{ CPTR dsta = MC68000_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(ULONG opcode){/* ULONG dstreg = (LONG)(BYTE)3; */{{ WORD src = nextiword();{ CPTR dsta = MC68000_getpc(); dsta = get_disp_ea (dsta, nextiword());{ BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst &= ~(1 << src); put_byte(dsta,dst);}}}}}void op_8c0(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ LONG dst = (Shptr->regs).d[dstreg]; src &= 31; ZFLG = !(dst & (1 << src)); dst |= (1 << src); (Shptr->regs).d[dstreg] = (dst);}}}}void op_8d0(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst |= (1 << src); put_byte(dsta,dst);}}}}void op_8d8(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta);{ (Shptr->regs).a[dstreg] += areg_byteinc[dstreg]; src &= 7; ZFLG = !(dst & (1 << src)); dst |= (1 << src); put_byte(dsta,dst);}}}}}void op_8e0(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ (Shptr->regs).a[dstreg] -= areg_byteinc[dstreg];{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst |= (1 << src); put_byte(dsta,dst);}}}}}void op_8e8(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->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(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; dsta = get_disp_ea (dsta, nextiword());{ BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst |= (1 << src); put_byte(dsta,dst);}}}}}void op_8f8(ULONG opcode){{{ 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(ULONG opcode){{{ 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(ULONG opcode){/* ULONG dstreg = (LONG)(BYTE)2; */{{ WORD src = nextiword();{ CPTR dsta = MC68000_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(ULONG opcode){/* ULONG dstreg = (LONG)(BYTE)3; */{{ WORD src = nextiword();{ CPTR dsta = MC68000_getpc(); dsta = get_disp_ea (dsta, nextiword());{ BYTE dst = get_byte(dsta); src &= 7; ZFLG = !(dst & (1 << src)); dst |= (1 << src); put_byte(dsta,dst);}}}}}void op_a00(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ BYTE src = nextiword();{ BYTE dst = (Shptr->regs).d[dstreg]; src ^= dst; VFLG = CFLG = 0; ZFLG = ((BYTE)(src)) == 0; NFLG = ((BYTE)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xff; (Shptr->regs).d[dstreg] |= (src) & 0xff;}}}}void op_a10(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ BYTE src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((BYTE)(src)) == 0; NFLG = ((BYTE)(src)) < 0; put_byte(dsta,src);}}}}void op_a18(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ BYTE src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta);{ (Shptr->regs).a[dstreg] += areg_byteinc[dstreg]; src ^= dst; VFLG = CFLG = 0; ZFLG = ((BYTE)(src)) == 0; NFLG = ((BYTE)(src)) < 0; put_byte(dsta,src);}}}}}void op_a20(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ BYTE src = nextiword();{ (Shptr->regs).a[dstreg] -= areg_byteinc[dstreg];{ CPTR dsta = (Shptr->regs).a[dstreg]; BYTE dst = get_byte(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((BYTE)(src)) == 0; NFLG = ((BYTE)(src)) < 0; put_byte(dsta,src);}}}}}void op_a28(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ BYTE src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg] + (LONG)(WORD)nextiword(); BYTE dst = get_byte(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((BYTE)(src)) == 0; NFLG = ((BYTE)(src)) < 0; put_byte(dsta,src);}}}}void op_a30(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ BYTE src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; dsta = get_disp_ea (dsta, nextiword());{ BYTE dst = get_byte(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((BYTE)(src)) == 0; NFLG = ((BYTE)(src)) < 0; put_byte(dsta,src);}}}}}void op_a38(ULONG opcode){{{ BYTE src = nextiword();{ CPTR dsta = (LONG)(WORD)nextiword(); BYTE dst = get_byte(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((BYTE)(src)) == 0; NFLG = ((BYTE)(src)) < 0; put_byte(dsta,src);}}}}void op_a39(ULONG opcode){{{ BYTE src = nextiword();{ CPTR dsta = nextilong(); BYTE dst = get_byte(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((BYTE)(src)) == 0; NFLG = ((BYTE)(src)) < 0; put_byte(dsta,src);}}}}void op_a3c(ULONG opcode){{ MakeSR();{ WORD src = nextiword(); src &= 0xFF; (Shptr->regs).sr ^= src; MakeFromSR();}}}void op_a40(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ WORD dst = (Shptr->regs).d[dstreg]; src ^= dst; VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}void op_a50(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; WORD dst = get_word(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; put_word(dsta,src);}}}}void op_a58(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; WORD dst = get_word(dsta);{ (Shptr->regs).a[dstreg] += 2; src ^= dst; VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; put_word(dsta,src);}}}}}void op_a60(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ (Shptr->regs).a[dstreg] -= 2;{ CPTR dsta = (Shptr->regs).a[dstreg]; WORD dst = get_word(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; put_word(dsta,src);}}}}}void op_a68(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg] + (LONG)(WORD)nextiword(); WORD dst = get_word(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; put_word(dsta,src);}}}}void op_a70(ULONG opcode){ ULONG dstreg = (opcode & 7) >> 0;{{ WORD src = nextiword();{ CPTR dsta = (Shptr->regs).a[dstreg]; dsta = get_disp_ea (dsta, nextiword());{ WORD dst = get_word(dsta); src ^= dst; VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; put_word(dsta,src);}}}}}void op_a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -