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

📄 cpuemu_02.c

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 C
📖 第 1 页 / 共 5 页
字号:
unsigned long op_51c0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{{	int val = cctrue(1) ? 0xff : 0;	m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff);}}}m68k_incpc(2);return 2;}unsigned long op_51c8_0(UINT32 opcode) /* DBcc */{	UINT32 srcreg = (opcode & 7);{{	INT16 src = m68k_dreg(regs, srcreg);{	INT16 offs = get_iword(2);	if (!cctrue(1)) {	m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff);		if (src) {			m68k_incpc((INT32)offs + 2);		return 6;		}	}}}}m68k_incpc(4);return 6;}unsigned long op_51d0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg);{	int val = cctrue(1) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 4;}unsigned long op_51d8_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg);	m68k_areg(regs, srcreg) += areg_byteinc[srcreg];{	int val = cctrue(1) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 4;}unsigned long op_51e0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg];	m68k_areg (regs, srcreg) = srca;{	int val = cctrue(1) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 5;}unsigned long op_51e8_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg) + (INT32)(INT16)get_iword(2);{	int val = cctrue(1) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(4);return 6;}unsigned long op_51f0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{m68k_incpc(2);{	unsigned int srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword());{	int val = cctrue(1) ? 0xff : 0;	cpu_writemem24(srca,val);}}}}return 7;}unsigned long op_51f8_0(UINT32 opcode) /* Scc */{	(void)(opcode);{{	unsigned int srca = (INT32)(INT16)get_iword(2);{	int val = cctrue(1) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(4);return 6;}unsigned long op_51f9_0(UINT32 opcode) /* Scc */{	(void)(opcode);{{	unsigned int srca = get_ilong(2);{	int val = cctrue(1) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(6);return 8;}unsigned long op_51fa_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{{	if (cctrue(1)) { Exception(7,m68k_getpc()); goto endlabel1000; }}}m68k_incpc(4);endlabel1000: ;return 4;}unsigned long op_51fb_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{{	if (cctrue(1)) { Exception(7,m68k_getpc()); goto endlabel1001; }}}m68k_incpc(6);endlabel1001: ;return 6;}unsigned long op_51fc_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{	if (cctrue(1)) { Exception(7,m68k_getpc()); goto endlabel1002; }}m68k_incpc(2);endlabel1002: ;return 2;}unsigned long op_52c0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{{	int val = cctrue(2) ? 0xff : 0;	m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff);}}}m68k_incpc(2);return 2;}unsigned long op_52c8_0(UINT32 opcode) /* DBcc */{	UINT32 srcreg = (opcode & 7);{{	INT16 src = m68k_dreg(regs, srcreg);{	INT16 offs = get_iword(2);	if (!cctrue(2)) {	m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff);		if (src) {			m68k_incpc((INT32)offs + 2);		return 6;		}	}}}}m68k_incpc(4);return 6;}unsigned long op_52d0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg);{	int val = cctrue(2) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 4;}unsigned long op_52d8_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg);	m68k_areg(regs, srcreg) += areg_byteinc[srcreg];{	int val = cctrue(2) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 4;}unsigned long op_52e0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg];	m68k_areg (regs, srcreg) = srca;{	int val = cctrue(2) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 5;}unsigned long op_52e8_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg) + (INT32)(INT16)get_iword(2);{	int val = cctrue(2) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(4);return 6;}unsigned long op_52f0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{m68k_incpc(2);{	unsigned int srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword());{	int val = cctrue(2) ? 0xff : 0;	cpu_writemem24(srca,val);}}}}return 7;}unsigned long op_52f8_0(UINT32 opcode) /* Scc */{	(void)(opcode);{{	unsigned int srca = (INT32)(INT16)get_iword(2);{	int val = cctrue(2) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(4);return 6;}unsigned long op_52f9_0(UINT32 opcode) /* Scc */{	(void)(opcode);{{	unsigned int srca = get_ilong(2);{	int val = cctrue(2) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(6);return 8;}unsigned long op_52fa_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{{	if (cctrue(2)) { Exception(7,m68k_getpc()); goto endlabel1012; }}}m68k_incpc(4);endlabel1012: ;return 4;}unsigned long op_52fb_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{{	if (cctrue(2)) { Exception(7,m68k_getpc()); goto endlabel1013; }}}m68k_incpc(6);endlabel1013: ;return 6;}unsigned long op_52fc_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{	if (cctrue(2)) { Exception(7,m68k_getpc()); goto endlabel1014; }}m68k_incpc(2);endlabel1014: ;return 2;}unsigned long op_53c0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{{	int val = cctrue(3) ? 0xff : 0;	m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff);}}}m68k_incpc(2);return 2;}unsigned long op_53c8_0(UINT32 opcode) /* DBcc */{	UINT32 srcreg = (opcode & 7);{{	INT16 src = m68k_dreg(regs, srcreg);{	INT16 offs = get_iword(2);	if (!cctrue(3)) {	m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff);		if (src) {			m68k_incpc((INT32)offs + 2);		return 6;		}	}}}}m68k_incpc(4);return 6;}unsigned long op_53d0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg);{	int val = cctrue(3) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 4;}unsigned long op_53d8_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg);	m68k_areg(regs, srcreg) += areg_byteinc[srcreg];{	int val = cctrue(3) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 4;}unsigned long op_53e0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg];	m68k_areg (regs, srcreg) = srca;{	int val = cctrue(3) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 5;}unsigned long op_53e8_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg) + (INT32)(INT16)get_iword(2);{	int val = cctrue(3) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(4);return 6;}unsigned long op_53f0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{m68k_incpc(2);{	unsigned int srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword());{	int val = cctrue(3) ? 0xff : 0;	cpu_writemem24(srca,val);}}}}return 7;}unsigned long op_53f8_0(UINT32 opcode) /* Scc */{	(void)(opcode);{{	unsigned int srca = (INT32)(INT16)get_iword(2);{	int val = cctrue(3) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(4);return 6;}unsigned long op_53f9_0(UINT32 opcode) /* Scc */{	(void)(opcode);{{	unsigned int srca = get_ilong(2);{	int val = cctrue(3) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(6);return 8;}unsigned long op_53fa_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{{	if (cctrue(3)) { Exception(7,m68k_getpc()); goto endlabel1024; }}}m68k_incpc(4);endlabel1024: ;return 4;}unsigned long op_53fb_0(UINT32 opcode) /* TRAPcc */{{{	if (cctrue(3)) { Exception(7,m68k_getpc()); goto endlabel1025; }}}m68k_incpc(6);endlabel1025: ;return 6;}unsigned long op_53fc_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{	if (cctrue(3)) { Exception(7,m68k_getpc()); goto endlabel1026; }}m68k_incpc(2);endlabel1026: ;return 2;}unsigned long op_54c0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{{	int val = cctrue(4) ? 0xff : 0;	m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xff) | ((val) & 0xff);}}}m68k_incpc(2);return 2;}unsigned long op_54c8_0(UINT32 opcode) /* DBcc */{	UINT32 srcreg = (opcode & 7);{{	INT16 src = m68k_dreg(regs, srcreg);{	INT16 offs = get_iword(2);	if (!cctrue(4)) {	m68k_dreg(regs, srcreg) = (m68k_dreg(regs, srcreg) & ~0xffff) | (((src-1)) & 0xffff);		if (src) {			m68k_incpc((INT32)offs + 2);		return 6;		}	}}}}m68k_incpc(4);return 6;}unsigned long op_54d0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg);{	int val = cctrue(4) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 4;}unsigned long op_54d8_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg);	m68k_areg(regs, srcreg) += areg_byteinc[srcreg];{	int val = cctrue(4) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 4;}unsigned long op_54e0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg) - areg_byteinc[srcreg];	m68k_areg (regs, srcreg) = srca;{	int val = cctrue(4) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(2);return 5;}unsigned long op_54e8_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{	unsigned int srca = m68k_areg(regs, srcreg) + (INT32)(INT16)get_iword(2);{	int val = cctrue(4) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(4);return 6;}unsigned long op_54f0_0(UINT32 opcode) /* Scc */{	UINT32 srcreg = (opcode & 7);{{m68k_incpc(2);{	unsigned int srca = get_disp_ea_020(m68k_areg(regs, srcreg), next_iword());{	int val = cctrue(4) ? 0xff : 0;	cpu_writemem24(srca,val);}}}}return 7;}unsigned long op_54f8_0(UINT32 opcode) /* Scc */{	(void)(opcode);{{	unsigned int srca = (INT32)(INT16)get_iword(2);{	int val = cctrue(4) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(4);return 6;}unsigned long op_54f9_0(UINT32 opcode) /* Scc */{	(void)(opcode);{{	unsigned int srca = get_ilong(2);{	int val = cctrue(4) ? 0xff : 0;	cpu_writemem24(srca,val);}}}m68k_incpc(6);return 8;}unsigned long op_54fa_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{{	if (cctrue(4)) { Exception(7,m68k_getpc()); goto endlabel1036; }}}m68k_incpc(4);endlabel1036: ;return 4;}unsigned long op_54fb_0(UINT32 opcode) /* TRAPcc */{{{	if (cctrue(4)) { Exception(7,m68k_getpc()); goto endlabel1037; }}}m68k_incpc(6);endlabel1037: ;return 6;}unsigned long op_54fc_0(UINT32 opcode) /* TRAPcc */{	(void)(opcode);{	if (cctrue(4)) { Exception(7,m68k_getpc()); goto endlabel1038; }}m68k_incpc(2);endlabel1038: ;return 2;}unsigned long op_55c0

⌨️ 快捷键说明

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