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

📄 cpu4.c

📁 树大根深三棱尽所标杆ssfsfsa fdsafs
💻 C
📖 第 1 页 / 共 5 页
字号:
	put_long(dsta,srca);}}}}}void op_4858(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];{	(Shptr->regs).a[srcreg] += 4;{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];	put_long(dsta,srca);}}}}}}void op_4860(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	(Shptr->regs).a[srcreg] -= 4;{	CPTR srca = (Shptr->regs).a[srcreg];{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];	put_long(dsta,srca);}}}}}}void op_4868(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];	put_long(dsta,srca);}}}}}void op_4870(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	srca = get_disp_ea (srca, nextiword());{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];	put_long(dsta,srca);}}}}}void op_4878(ULONG opcode){{{	CPTR srca = (LONG)(WORD)nextiword();{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];	put_long(dsta,srca);}}}}}void op_4879(ULONG opcode){{{	CPTR srca = nextilong();{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];	put_long(dsta,srca);}}}}}void op_487a(ULONG opcode){{{	CPTR srca = MC68000_getpc();	srca += (LONG)(WORD)nextiword();{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];	put_long(dsta,srca);}}}}}void op_487b(ULONG opcode){{{	CPTR srca = MC68000_getpc();	srca = get_disp_ea (srca, nextiword());{	(Shptr->regs).a[7] -= 4;{	CPTR dsta = (Shptr->regs).a[7];	put_long(dsta,srca);}}}}}void op_4880(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	WORD src = (Shptr->regs).d[srcreg];{	ULONG dst = (LONG)(BYTE)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_4890(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (Shptr->regs).a[srcreg];{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, rd[i]); srca += 2; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, ra[i]); srca += 2; } mask >>= 1; }}}}}void op_4898(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (Shptr->regs).a[srcreg];{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, rd[i]); srca += 2; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, ra[i]); srca += 2; } mask >>= 1; }}}}}void op_48a0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{{	CPTR srca = (Shptr->regs).a[srcreg];{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	srca -= 2*bitcnt;	(Shptr->regs).a[srcreg] = srca;	for(i=0;i<8;i++) { if (mask & 32768) { put_word(srca, rd[i]); srca += 2; } mask <<= 1; }	for(i=0;i<8;i++) { if (mask & 32768) { put_word(srca, ra[i]); srca += 2; } mask <<= 1; }}}}}}void op_48a8(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, rd[i]); srca += 2; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, ra[i]); srca += 2; } mask >>= 1; }}}}}void op_48b0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (Shptr->regs).a[srcreg];	srca = get_disp_ea (srca, nextiword());{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, rd[i]); srca += 2; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, ra[i]); srca += 2; } mask >>= 1; }}}}}void op_48b8(ULONG opcode){{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (LONG)(WORD)nextiword();{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, rd[i]); srca += 2; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, ra[i]); srca += 2; } mask >>= 1; }}}}}void op_48b9(ULONG opcode){{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = nextilong();{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, rd[i]); srca += 2; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_word(srca, ra[i]); srca += 2; } mask >>= 1; }}}}}void op_48c0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	LONG src = (Shptr->regs).d[srcreg];{	ULONG dst = (LONG)(WORD)src;	VFLG = CFLG = 0;	ZFLG = ((LONG)(dst)) == 0;	NFLG = ((LONG)(dst)) < 0;	(Shptr->regs).d[srcreg] = (dst);}}}}void op_48d0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (Shptr->regs).a[srcreg];{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, rd[i]); srca += 4; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, ra[i]); srca += 4; } mask >>= 1; }}}}}void op_48d8(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (Shptr->regs).a[srcreg];{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, rd[i]); srca += 4; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, ra[i]); srca += 4; } mask >>= 1; }}}}}void op_48e0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{{	CPTR srca = (Shptr->regs).a[srcreg];{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	srca -= 4*bitcnt;	(Shptr->regs).a[srcreg] = srca;	for(i=0;i<8;i++) { if (mask & 32768) { put_long(srca, rd[i]); srca += 4; } mask <<= 1; }	for(i=0;i<8;i++) { if (mask & 32768) { put_long(srca, ra[i]); srca += 4; } mask <<= 1; }}}}}}void op_48e8(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, rd[i]); srca += 4; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, ra[i]); srca += 4; } mask >>= 1; }}}}}void op_48f0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (Shptr->regs).a[srcreg];	srca = get_disp_ea (srca, nextiword());{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, rd[i]); srca += 4; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, ra[i]); srca += 4; } mask >>= 1; }}}}}void op_48f8(ULONG opcode){{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = (LONG)(WORD)nextiword();{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, rd[i]); srca += 4; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, ra[i]); srca += 4; } mask >>= 1; }}}}}void op_48f9(ULONG opcode){{	UWORD mask = nextiword(), bitmask = mask;{	CPTR srca = nextilong();{	int i, bitcnt = 0;	ULONG rd[8], ra[8];	for(i=0;i<16;i++) { bitcnt += bitmask & 1; bitmask >>= 1; }	for(i=0;i<8;i++) { rd[i] = (Shptr->regs).d[i]; ra[i] = (Shptr->regs).a[i]; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, rd[i]); srca += 4; } mask >>= 1; }	for(i=0;i<8;i++) { if (mask & 1) { put_long(srca, ra[i]); srca += 4; } mask >>= 1; }}}}}void op_4a00(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	BYTE src = (Shptr->regs).d[srcreg];	VFLG = CFLG = 0;	ZFLG = ((BYTE)(src)) == 0;	NFLG = ((BYTE)(src)) < 0;}}}void op_4a10(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	BYTE src = get_byte(srca);	VFLG = CFLG = 0;	ZFLG = ((BYTE)(src)) == 0;	NFLG = ((BYTE)(src)) < 0;}}}void op_4a18(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];	VFLG = CFLG = 0;	ZFLG = ((BYTE)(src)) == 0;	NFLG = ((BYTE)(src)) < 0;}}}}void op_4a20(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);	VFLG = CFLG = 0;	ZFLG = ((BYTE)(src)) == 0;	NFLG = ((BYTE)(src)) < 0;}}}}void op_4a28(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg] + (LONG)(WORD)nextiword();	BYTE src = get_byte(srca);	VFLG = CFLG = 0;	ZFLG = ((BYTE)(src)) == 0;	NFLG = ((BYTE)(src)) < 0;}}}void op_4a30(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);	VFLG = CFLG = 0;	ZFLG = ((BYTE)(src)) == 0;	NFLG = ((BYTE)(src)) < 0;}}}}void op_4a38(ULONG opcode){{{	CPTR srca = (LONG)(WORD)nextiword();	BYTE src = get_byte(srca);	VFLG = CFLG = 0;	ZFLG = ((BYTE)(src)) == 0;	NFLG = ((BYTE)(src)) < 0;}}}void op_4a39(ULONG opcode){{{	CPTR srca = nextilong();	BYTE src = get_byte(srca);	VFLG = CFLG = 0;	ZFLG = ((BYTE)(src)) == 0;	NFLG = ((BYTE)(src)) < 0;}}}void op_4a40(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	WORD src = (Shptr->regs).d[srcreg];	VFLG = CFLG = 0;	ZFLG = ((WORD)(src)) == 0;	NFLG = ((WORD)(src)) < 0;}}}void op_4a48(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	WORD src = (Shptr->regs).a[srcreg];	VFLG = CFLG = 0;	ZFLG = ((WORD)(src)) == 0;	NFLG = ((WORD)(src)) < 0;}}}void op_4a50(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	WORD src = get_word(srca);	VFLG = CFLG = 0;	ZFLG = ((WORD)(src)) == 0;	NFLG = ((WORD)(src)) < 0;}}}void op_4a58(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;	VFLG = CFLG = 0;	ZFLG = ((WORD)(src)) == 0;	NFLG = ((WORD)(src)) < 0;}}}}void op_4a60(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);	VFLG = CFLG = 0;	ZFLG = ((WORD)(src)) == 0;	NFLG = ((WORD)(src)) < 0;}}}}void op_4a68(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	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;}}}void op_4a70(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);	VFLG = CFLG = 0;	ZFLG = ((WORD)(src)) == 0;	NFLG = ((WORD)(src)) < 0;}}}}void op_4a78(ULONG opcode){{{	CPTR srca = (LONG)(WORD)nextiword();	WORD src = get_word(srca);	VFLG = CFLG = 0;	ZFLG = ((WORD)(src)) == 0;	NFLG = ((WORD)(src)) < 0;}}}void op_4a79(ULONG opcode){{{	CPTR srca = nextilong();	WORD src = get_word(srca);	VFLG = CFLG = 0;	ZFLG = ((WORD)(src)) == 0;	NFLG = ((WORD)(src)) < 0;}}}void op_4a80(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	LONG src = (Shptr->regs).d[srcreg];	VFLG = CFLG = 0;	ZFLG = ((LONG)(src)) == 0;	NFLG = ((LONG)(src)) < 0;}}}void op_4a88(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	LONG src = (Shptr->regs).a[srcreg];	VFLG = CFLG = 0;	ZFLG = ((LONG)(src)) == 0;	NFLG = ((LONG)(src)) < 0;}}}void op_4a90(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	CPTR srca = (Shptr->regs).a[srcreg];	LONG src = get_long(srca);	VFLG = CFLG = 0;	ZFLG = ((LONG)(src)) == 0;	NFLG = ((LONG)(src)) < 0;}}}void op_4a98(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;	VFLG = CFLG = 0;	ZFLG = ((LONG)(src)) == 0;	NFLG = ((LONG)(src)) < 0;}}}}void op_4aa0(ULONG opcode){	ULONG srcreg = (LONG)(BYTE)((opcode & 7) >> 0);{{	(Shptr->regs).a[srcreg] -

⌨️ 快捷键说明

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