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

📄 kick_mcu.c

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 C
📖 第 1 页 / 共 2 页
字号:
	MCU_WRMEM(0x00a, a);//LABEL(160):   /* jsr */	PUSHWORD(0x162);	JUMP_IMM(0x080);LABEL(162):  /* eora */	EOR(a, a, 0x019);	SET_NZ(a);//LABEL(164):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x183);//LABEL(166):   /* lda */	a = 0x079;	SET_NZ(a);//LABEL(168):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(16a):   /* lda */	a = 0x060;	SET_NZ(a);//LABEL(16c):   /* jsr */	PUSHWORD(0x16e);	JUMP_IMM(0x09f);LABEL(16e):  /* lda */	a = 0x068;	SET_NZ(a);//LABEL(170):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(172):   /* clra */	a = 0;	SET_NZ(a);//LABEL(173):   /* jsr */	PUSHWORD(0x175);	JUMP_IMM(0x09f);LABEL(175):  /* lda */	a = 0x06b;	SET_NZ(a);//LABEL(177):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(179):   /* clra */	a = 0;	SET_NZ(a);//LABEL(17a):   /* jsr */	PUSHWORD(0x17c);	JUMP_IMM(0x09f);LABEL(17c):  /* lda */	a = 0x076;	SET_NZ(a);//LABEL(17e):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(180):   /* clra */	a = 0;	SET_NZ(a);//LABEL(181):   /* jsr */	PUSHWORD(0x183);	JUMP_IMM(0x09f);LABEL(183):  /* jmp */	JUMP_IMM(0x206);LABEL(186):  /* lda */	a = 0x0ff;	SET_NZ(a);//LABEL(188):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x016, a);//LABEL(18a):   /* lda */	a = 0x00b;	SET_NZ(a);//LABEL(18c):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x014, a);//LABEL(18e):   /* brset5 */	BRSET(0x013, 5)	JUMP_IMM(0x194);//LABEL(191):   /* jsr */	PUSHWORD(0x194);	JUMP_IMM(0x254);LABEL(194):  /* lda */	a = 0x043;	SET_NZ(a);//LABEL(196):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(198):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(19a):   /* jsr */	PUSHWORD(0x19c);	JUMP_IMM(0x080);LABEL(19c):  /* sta */	SET_NZ(a);	MCU_WRMEM(0x015, a);//LABEL(19e):   /* cmpa */	SUB(temp, a, 0x001);//LABEL(1a0):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x1ae);//LABEL(1a2):   /* lda */	a = 0x005;	SET_NZ(a);//LABEL(1a4):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x015, a);//LABEL(1a6):   /* dec */	addr = 0x011;	DEC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);//LABEL(1a8):   /* lda */	a = 0x000;	SET_NZ(a);//LABEL(1aa):   /* jsr */	PUSHWORD(0x1ac);	JUMP_IMM(0x09f);LABEL(1ac):  /* inc */	addr = 0x011;	INC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);LABEL(1ae):  /* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1b0):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x1b8);//LABEL(1b2):   /* lda */	a = 0x060;	SET_NZ(a);//LABEL(1b4):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x015, a);//LABEL(1b6):   /* clr */	addr = 0x016;	temp = 0;	SET_NZ(temp);	MCU_WRMEM(addr, temp);LABEL(1b8):  /* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1ba):   /* anda */	AND(a, a, 0x00f);	SET_NZ(a);//LABEL(1bc):   /* beq */	IF_CC_Z()	JUMP_IMM(0x1c4);//LABEL(1be):   /* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1c0):   /* suba */	SUB(a, a, 0x005);//LABEL(1c2):   /* bra */	JUMP_IMM(0x1c8);LABEL(1c4):  /* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1c6):   /* suba */	SUB(a, a, 0x00b);LABEL(1c8):  /* jsr */	PUSHWORD(0x1ca);	JUMP_IMM(0x09f);LABEL(1ca):  /* lda */	addr = 0x016;	a = MCU_RDMEM(0x016);	SET_NZ(a);//LABEL(1cc):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x1fc);//LABEL(1ce):   /* dec */	addr = 0x010;	DEC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(1d0):   /* dec */	addr = 0x011;	DEC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);//LABEL(1d2):   /* jsr */	PUSHWORD(0x1d4);	JUMP_IMM(0x080);LABEL(1d4):  /* sta */	SET_NZ(a);	MCU_WRMEM(0x015, a);//LABEL(1d6):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x1e6);//LABEL(1d8):   /* clr */	addr = 0x014;	temp = 0;	SET_NZ(temp);	MCU_WRMEM(addr, temp);//LABEL(1da):   /* lda */	a = 0x043;	SET_NZ(a);//LABEL(1dc):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(1de):   /* lda */	a = 0x000;	SET_NZ(a);//LABEL(1e0):   /* jsr */	PUSHWORD(0x1e2);	JUMP_IMM(0x09f);LABEL(1e2):  /* bset6 */	BSET(0x013, 6);//LABEL(1e4):   /* bra */	JUMP_IMM(0x1fe);LABEL(1e6):  /* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1e8):   /* suba */	SUB(a, a, 0x001);//LABEL(1ea):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x015, a);//LABEL(1ec):   /* anda */	AND(a, a, 0x00f);	SET_NZ(a);//LABEL(1ee):   /* adda */	ADD(a, a, 0x0f6);//LABEL(1f0):   /* bcc */	IF_CC_NC()	JUMP_IMM(0x1f8);//LABEL(1f2):   /* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1f4):   /* suba */	SUB(a, a, 0x006);//LABEL(1f6):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x015, a);LABEL(1f8):  /* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1fa):   /* jsr */	PUSHWORD(0x1fc);	JUMP_IMM(0x09f);LABEL(1fc):  /* bclr7 */	BCLR(0x013, 7);LABEL(1fe):  /* lda */	a = 0x06d;	SET_NZ(a);//LABEL(200):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(202):   /* lda */	addr = 0x013;	a = MCU_RDMEM(0x013);	SET_NZ(a);//LABEL(204):   /* jsr */	PUSHWORD(0x206);	JUMP_IMM(0x09f);LABEL(206):  /* lda */	a = 0x06b;	SET_NZ(a);//LABEL(208):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(20a):   /* lda */	addr = 0x017;	a = MCU_RDMEM(0x017);	SET_NZ(a);//LABEL(20c):   /* jsr */	PUSHWORD(0x20e);	JUMP_IMM(0x09f);LABEL(20e):  /* lda */	a = 0x056;	SET_NZ(a);//LABEL(210):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(212):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(214):   /* jsr */	PUSHWORD(0x216);	JUMP_IMM(0x080);LABEL(216):  /* eora */	EOR(a, a, 0x0a7);	SET_NZ(a);//LABEL(218):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x236);//LABEL(21a):   /* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(21c):   /* jsr */	PUSHWORD(0x21e);	JUMP_IMM(0x080);LABEL(21e):  /* eora */	EOR(a, a, 0x000);	SET_NZ(a);//LABEL(220):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x236);//LABEL(222):   /* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(224):   /* jsr */	PUSHWORD(0x226);	JUMP_IMM(0x080);LABEL(226):  /* eora */	EOR(a, a, 0x083);	SET_NZ(a);//LABEL(228):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x236);//LABEL(22a):   /* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(22c):   /* jsr */	PUSHWORD(0x22e);	JUMP_IMM(0x080);LABEL(22e):  /* eora */	EOR(a, a, 0x057);	SET_NZ(a);//LABEL(230):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x236);//LABEL(232):   /* lda */	a = 0x000;	SET_NZ(a);//LABEL(234):   /* jsr */	PUSHWORD(0x236);	JUMP_IMM(0x09f);LABEL(236):  /* rti *///invalid instruction!   //goto invalid_pc;   /* [kayamon] - hacked here to quit and return to the main loop */   m68705.pc = 0x0ea;	m68705.x = x;	m68705.a = a;	m68705.sp = sp;	m68705.flag_c = flag_c;	m68705.flag_h = flag_h;	m68705.flag_n = flag_n;	m68705.flag_z = flag_z;   return;LABEL(237):  /* sta */	SET_NZ(a);	MCU_WRMEM(0x018, a);//LABEL(239):   /* ora */	OR(a, a, 0x00f);	SET_NZ(a);//LABEL(23b):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x019, a);//LABEL(23d):   /* brset0 */	BRSET(0x018, 0)	JUMP_IMM(0x242);//LABEL(240):   /* bclr2 */	BCLR(0x019, 2);LABEL(242):  /* brset1 */	BRSET(0x018, 1)	JUMP_IMM(0x247);//LABEL(245):   /* bclr3 */	BCLR(0x019, 3);LABEL(247):  /* brset2 */	BRSET(0x018, 2)	JUMP_IMM(0x24c);//LABEL(24a):   /* bclr1 */	BCLR(0x019, 1);LABEL(24c):  /* brset3 */	BRSET(0x018, 3)	JUMP_IMM(0x251);//LABEL(24f):   /* bclr0 */	BCLR(0x019, 0);LABEL(251):  /* lda */	addr = 0x019;	a = MCU_RDMEM(0x019);	SET_NZ(a);//LABEL(253):   /* rts */	PULLWORD(m68705.pc);	JUMP(m68705.pc);LABEL(254):  /* lda */	a = 0x007;	SET_NZ(a);//LABEL(256):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(258):   /* jsr */	PUSHWORD(0x25a);	JUMP_IMM(0x080);LABEL(25a):  /* anda */	AND(a, a, 0x00c);	SET_NZ(a);//LABEL(25c):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x264);//LABEL(25e):   /* lda */	a = 0x009;	SET_NZ(a);//LABEL(260):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x014, a);//LABEL(262):   /* bra */	JUMP_IMM(0x27c);LABEL(264):  /* cmpa */	SUB(temp, a, 0x00c);//LABEL(266):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x26e);//LABEL(268):   /* lda */	a = 0x006;	SET_NZ(a);//LABEL(26a):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x014, a);//LABEL(26c):   /* bra */	JUMP_IMM(0x27c);LABEL(26e):  /* cmpa */	SUB(temp, a, 0x008);//LABEL(270):   /* bne */	IF_CC_NZ()	JUMP_IMM(0x278);//LABEL(272):   /* lda */	a = 0x00f;	SET_NZ(a);//LABEL(274):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x014, a);//LABEL(276):   /* bra */	JUMP_IMM(0x27c);LABEL(278):  /* lda */	a = 0x00c;	SET_NZ(a);//LABEL(27a):   /* sta */	SET_NZ(a);	MCU_WRMEM(0x014, a);LABEL(27c):  /* rts */	PULLWORD(m68705.pc);	JUMP(m68705.pc);#if defined(RAINE_DOS) || defined(RAINE_UNIX)invalid_pc:	#ifdef RAINE_DEBUG		print_debug("M68705: Invalid jump address (0x%x)\n", m68705.pc);		print_ingame(200, "M68705: Invalid jump address (0x%x)\n", m68705.pc);	#endif	return;#else        default:	#ifdef RAINE_DEBUG		print_debug("M68705: Invalid jump address (0x%x)\n", m68705.pc);		print_ingame(200, "M68705: Invalid jump address (0x%x)\n", m68705.pc);	#endif	return;        break;      }      goto LOOP;#endif}

⌨️ 快捷键说明

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