?? cpu3.c
字號:
#include "sysdeps.h"#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 = (Shptr->regs).d[srcreg];{ VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}void op_3008(ULONG opcode){ ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0); ULONG dstreg = (opcode & 3584) >> 9;{{ WORD src = (Shptr->regs).a[srcreg];{ VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}void op_3010(ULONG opcode){ ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0); ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}void op_3018(ULONG opcode){ ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0); ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ (Shptr->regs).a[srcreg] += 2;{ VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}}void op_3020(ULONG opcode){ ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0); ULONG dstreg = (opcode & 3584) >> 9;{{ (Shptr->regs).a[srcreg] -= 2;{ CPTR srca = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}}void op_3028(ULONG opcode){ ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0); ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword(); WORD src = get_word(srca);{ VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}void op_3030(ULONG opcode){ ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0); ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = (Shptr->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; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->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; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->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; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}void op_303a(ULONG opcode){ ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = MC68000_getpc(); srca += (LONG)(WORD)nextiword();{ WORD src = get_word(srca);{ VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}}void op_303b(ULONG opcode){ ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = MC68000_getpc(); srca = get_disp_ea (srca, nextiword());{ WORD src = get_word(srca);{ VFLG = CFLG = 0; ZFLG = ((WORD)(src)) == 0; NFLG = ((WORD)(src)) < 0; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->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; (Shptr->regs).d[dstreg] &= ~0xffff; (Shptr->regs).d[dstreg] |= (src) & 0xffff;}}}}void op_3040(ULONG opcode){ ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0); ULONG dstreg = (opcode & 3584) >> 9;{{ WORD src = (Shptr->regs).d[srcreg];{ (Shptr->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 = (Shptr->regs).a[srcreg];{ (Shptr->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 = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ (Shptr->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 = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ (Shptr->regs).a[srcreg] += 2;{ (Shptr->regs).a[dstreg] = (LONG)(WORD)(src);}}}}}void op_3060(ULONG opcode){ ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0); ULONG dstreg = (opcode & 3584) >> 9;{{ (Shptr->regs).a[srcreg] -= 2;{ CPTR srca = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ (Shptr->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 = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword(); WORD src = get_word(srca);{ (Shptr->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 = (Shptr->regs).a[srcreg]; srca = get_disp_ea (srca, nextiword());{ WORD src = get_word(srca);{ (Shptr->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);{ (Shptr->regs).a[dstreg] = (LONG)(WORD)(src);}}}}void op_3079(ULONG opcode){ ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = nextilong(); WORD src = get_word(srca);{ (Shptr->regs).a[dstreg] = (LONG)(WORD)(src);}}}}void op_307a(ULONG opcode){ ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = MC68000_getpc(); srca += (LONG)(WORD)nextiword();{ WORD src = get_word(srca);{ (Shptr->regs).a[dstreg] = (LONG)(WORD)(src);}}}}}void op_307b(ULONG opcode){ ULONG dstreg = (opcode & 3584) >> 9;{{ CPTR srca = MC68000_getpc(); srca = get_disp_ea (srca, nextiword());{ WORD src = get_word(srca);{ (Shptr->regs).a[dstreg] = (LONG)(WORD)(src);}}}}}void op_307c(ULONG opcode){ ULONG dstreg = (opcode & 3584) >> 9;{{ WORD src = nextiword();{ (Shptr->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 = (Shptr->regs).d[srcreg];{ CPTR dsta = (Shptr->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 = (Shptr->regs).a[srcreg];{ CPTR dsta = (Shptr->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 = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ CPTR dsta = (Shptr->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 = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ (Shptr->regs).a[srcreg] += 2;{ CPTR dsta = (Shptr->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;{{ (Shptr->regs).a[srcreg] -= 2;{ CPTR srca = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ CPTR dsta = (Shptr->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 = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword(); WORD src = get_word(srca);{ CPTR dsta = (Shptr->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 = (Shptr->regs).a[srcreg]; srca = get_disp_ea (srca, nextiword());{ WORD src = get_word(srca);{ CPTR dsta = (Shptr->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 = (Shptr->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 = (Shptr->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 = MC68000_getpc(); srca += (LONG)(WORD)nextiword();{ WORD src = get_word(srca);{ CPTR dsta = (Shptr->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 = MC68000_getpc(); srca = get_disp_ea (srca, nextiword());{ WORD src = get_word(srca);{ CPTR dsta = (Shptr->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 = (Shptr->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 = (Shptr->regs).d[srcreg];{ CPTR dsta = (Shptr->regs).a[dstreg];{ (Shptr->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 = (Shptr->regs).a[srcreg];{ CPTR dsta = (Shptr->regs).a[dstreg];{ (Shptr->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 = (Shptr->regs).a[srcreg]; WORD src = get_word(srca);{ CPTR dsta = (Shptr->regs).a[dstreg];{ (Shptr->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;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -