⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpu4.c

📁 树大根深三棱尽所标杆ssfsfsa fdsafs
💻 C
📖 第 1 页 / 共 5 页
字号:
{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((BYTE)(dst)) == 0;	NFLG = ((BYTE)(dst)) < 0;	put_byte(srca,dst);}}}}}void op_4628(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();	BYTE src = get_byte(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((BYTE)(dst)) == 0;	NFLG = ((BYTE)(dst)) < 0;	put_byte(srca,dst);}}}}void op_4630(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	srca = get_disp_ea (srca, nextiword());{	BYTE src = get_byte(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((BYTE)(dst)) == 0;	NFLG = ((BYTE)(dst)) < 0;	put_byte(srca,dst);}}}}}void op_4638(ULONG opcode){{{	CPTR srca = (LONG)(WORD)nextiword();	BYTE src = get_byte(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((BYTE)(dst)) == 0;	NFLG = ((BYTE)(dst)) < 0;	put_byte(srca,dst);}}}}void op_4639(ULONG opcode){{{	CPTR srca = nextilong();	BYTE src = get_byte(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((BYTE)(dst)) == 0;	NFLG = ((BYTE)(dst)) < 0;	put_byte(srca,dst);}}}}void op_4640(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	WORD src = (Shptr->regs).d[srcreg];{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((WORD)(dst)) == 0;	NFLG = ((WORD)(dst)) < 0;	(Shptr->regs).d[srcreg] &= ~0xffff; (Shptr->regs).d[srcreg] |= (dst) & 0xffff;}}}}void op_4650(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	WORD src = get_word(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((WORD)(dst)) == 0;	NFLG = ((WORD)(dst)) < 0;	put_word(srca,dst);}}}}void op_4658(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	WORD src = get_word(srca);{	(Shptr->regs).a[srcreg] += 2;{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((WORD)(dst)) == 0;	NFLG = ((WORD)(dst)) < 0;	put_word(srca,dst);}}}}}void op_4660(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	(Shptr->regs).a[srcreg] -= 2;{	CPTR srca = (Shptr->regs).a[srcreg];	WORD src = get_word(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((WORD)(dst)) == 0;	NFLG = ((WORD)(dst)) < 0;	put_word(srca,dst);}}}}}void op_4668(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();	WORD src = get_word(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((WORD)(dst)) == 0;	NFLG = ((WORD)(dst)) < 0;	put_word(srca,dst);}}}}void op_4670(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	srca = get_disp_ea (srca, nextiword());{	WORD src = get_word(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((WORD)(dst)) == 0;	NFLG = ((WORD)(dst)) < 0;	put_word(srca,dst);}}}}}void op_4678(ULONG opcode){{{	CPTR srca = (LONG)(WORD)nextiword();	WORD src = get_word(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((WORD)(dst)) == 0;	NFLG = ((WORD)(dst)) < 0;	put_word(srca,dst);}}}}void op_4679(ULONG opcode){{{	CPTR srca = nextilong();	WORD src = get_word(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((WORD)(dst)) == 0;	NFLG = ((WORD)(dst)) < 0;	put_word(srca,dst);}}}}void op_4680(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	LONG src = (Shptr->regs).d[srcreg];{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	(Shptr->regs).d[srcreg] = (dst);}}}}void op_4690(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	LONG src = get_long(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	put_long(srca,dst);}}}}void op_4698(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	LONG src = get_long(srca);{	(Shptr->regs).a[srcreg] += 4;{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	put_long(srca,dst);}}}}}void op_46a0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	(Shptr->regs).a[srcreg] -= 4;{	CPTR srca = (Shptr->regs).a[srcreg];	LONG src = get_long(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	put_long(srca,dst);}}}}}void op_46a8(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();	LONG src = get_long(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	put_long(srca,dst);}}}}void op_46b0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	srca = get_disp_ea (srca, nextiword());{	LONG src = get_long(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	put_long(srca,dst);}}}}}void op_46b8(ULONG opcode){{{	CPTR srca = (LONG)(WORD)nextiword();	LONG src = get_long(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	put_long(srca,dst);}}}}void op_46b9(ULONG opcode){{{	CPTR srca = nextilong();	LONG src = get_long(srca);{	ULONG dst = ~src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	put_long(srca,dst);}}}}void op_46c0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	WORD src = (Shptr->regs).d[srcreg];	(Shptr->regs).sr = src;	MakeFromSR();}}}}void op_46d0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	CPTR srca = (Shptr->regs).a[srcreg];	WORD src = get_word(srca);	(Shptr->regs).sr = src;	MakeFromSR();}}}}void op_46d8(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	CPTR srca = (Shptr->regs).a[srcreg];	WORD src = get_word(srca);{	(Shptr->regs).a[srcreg] += 2;	(Shptr->regs).sr = src;	MakeFromSR();}}}}}void op_46e0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	(Shptr->regs).a[srcreg] -= 2;{	CPTR srca = (Shptr->regs).a[srcreg];	WORD src = get_word(srca);	(Shptr->regs).sr = src;	MakeFromSR();}}}}}void op_46e8(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();	WORD src = get_word(srca);	(Shptr->regs).sr = src;	MakeFromSR();}}}}void op_46f0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	CPTR srca = (Shptr->regs).a[srcreg];	srca = get_disp_ea (srca, nextiword());{	WORD src = get_word(srca);	(Shptr->regs).sr = src;	MakeFromSR();}}}}}void op_46f8(ULONG opcode){{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	CPTR srca = (LONG)(WORD)nextiword();	WORD src = get_word(srca);	(Shptr->regs).sr = src;	MakeFromSR();}}}}void op_46f9(ULONG opcode){{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	CPTR srca = nextilong();	WORD src = get_word(srca);	(Shptr->regs).sr = src;	MakeFromSR();}}}}void op_46fa(ULONG opcode){{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	CPTR srca = MC68000_getpc();	srca += (LONG)(WORD)nextiword();{	WORD src = get_word(srca);	(Shptr->regs).sr = src;	MakeFromSR();}}}}}void op_46fb(ULONG opcode){{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	CPTR srca = MC68000_getpc();	srca = get_disp_ea (srca, nextiword());{	WORD src = get_word(srca);	(Shptr->regs).sr = src;	MakeFromSR();}}}}}void op_46fc(ULONG opcode){{if (!(Shptr->regs).s) { (Shptr->regs).pc_p--; MC68000_exception(8); } else{{	WORD src = nextiword();	(Shptr->regs).sr = src;	MakeFromSR();}}}}void op_4800(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	BYTE src = (Shptr->regs).d[srcreg];{	UWORD newv_lo = - (src & 0xF) - (Shptr->regs).x;	UWORD newv_hi = - (src & 0xF0);	UWORD newv;	if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }	newv = newv_hi + (newv_lo & 0xF);	CFLG = (Shptr->regs).x = (newv_hi & 0x1F0) > 0x90;	if (CFLG) newv -= 0x60;	if (newv != 0) ZFLG = 0;	(Shptr->regs).d[srcreg] &= ~0xff; (Shptr->regs).d[srcreg] |= (newv) & 0xff;}}}}void op_4810(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	BYTE src = get_byte(srca);{	UWORD newv_lo = - (src & 0xF) - (Shptr->regs).x;	UWORD newv_hi = - (src & 0xF0);	UWORD newv;	if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }	newv = newv_hi + (newv_lo & 0xF);	CFLG = (Shptr->regs).x = (newv_hi & 0x1F0) > 0x90;	if (CFLG) newv -= 0x60;	if (newv != 0) ZFLG = 0;	put_byte(srca,newv);}}}}void op_4818(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	BYTE src = get_byte(srca);{	(Shptr->regs).a[srcreg] += areg_byteinc[srcreg];{	UWORD newv_lo = - (src & 0xF) - (Shptr->regs).x;	UWORD newv_hi = - (src & 0xF0);	UWORD newv;	if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }	newv = newv_hi + (newv_lo & 0xF);	CFLG = (Shptr->regs).x = (newv_hi & 0x1F0) > 0x90;	if (CFLG) newv -= 0x60;	if (newv != 0) ZFLG = 0;	put_byte(srca,newv);}}}}}void op_4820(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	(Shptr->regs).a[srcreg] -= areg_byteinc[srcreg];{	CPTR srca = (Shptr->regs).a[srcreg];	BYTE src = get_byte(srca);{	UWORD newv_lo = - (src & 0xF) - (Shptr->regs).x;	UWORD newv_hi = - (src & 0xF0);	UWORD newv;	if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }	newv = newv_hi + (newv_lo & 0xF);	CFLG = (Shptr->regs).x = (newv_hi & 0x1F0) > 0x90;	if (CFLG) newv -= 0x60;	if (newv != 0) ZFLG = 0;	put_byte(srca,newv);}}}}}void op_4828(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();	BYTE src = get_byte(srca);{	UWORD newv_lo = - (src & 0xF) - (Shptr->regs).x;	UWORD newv_hi = - (src & 0xF0);	UWORD newv;	if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }	newv = newv_hi + (newv_lo & 0xF);	CFLG = (Shptr->regs).x = (newv_hi & 0x1F0) > 0x90;	if (CFLG) newv -= 0x60;	if (newv != 0) ZFLG = 0;	put_byte(srca,newv);}}}}void op_4830(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	srca = get_disp_ea (srca, nextiword());{	BYTE src = get_byte(srca);{	UWORD newv_lo = - (src & 0xF) - (Shptr->regs).x;	UWORD newv_hi = - (src & 0xF0);	UWORD newv;	if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }	newv = newv_hi + (newv_lo & 0xF);	CFLG = (Shptr->regs).x = (newv_hi & 0x1F0) > 0x90;	if (CFLG) newv -= 0x60;	if (newv != 0) ZFLG = 0;	put_byte(srca,newv);}}}}}void op_4838(ULONG opcode){{{	CPTR srca = (LONG)(WORD)nextiword();	BYTE src = get_byte(srca);{	UWORD newv_lo = - (src & 0xF) - (Shptr->regs).x;	UWORD newv_hi = - (src & 0xF0);	UWORD newv;	if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }	newv = newv_hi + (newv_lo & 0xF);	CFLG = (Shptr->regs).x = (newv_hi & 0x1F0) > 0x90;	if (CFLG) newv -= 0x60;	if (newv != 0) ZFLG = 0;	put_byte(srca,newv);}}}}void op_4839(ULONG opcode){{{	CPTR srca = nextilong();	BYTE src = get_byte(srca);{	UWORD newv_lo = - (src & 0xF) - (Shptr->regs).x;	UWORD newv_hi = - (src & 0xF0);	UWORD newv;	if (newv_lo > 9) { newv_lo-=6; newv_hi-=0x10; }	newv = newv_hi + (newv_lo & 0xF);	CFLG = (Shptr->regs).x = (newv_hi & 0x1F0) > 0x90;	if (CFLG) newv -= 0x60;	if (newv != 0) ZFLG = 0;	put_byte(srca,newv);}}}}void op_4840(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	LONG src = (Shptr->regs).d[srcreg];{	ULONG dst = ((src >> 16)&0xFFFF) | ((src&0xFFFF)<<16);	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	(Shptr->regs).d[srcreg] = (dst);}}}}void op_4850(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -