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

📄 kiki_mcu.c

📁 著名ARC模拟器源码,包括多个平台
💻 C
📖 第 1 页 / 共 2 页
字号:
//LABEL(19f):	/* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1a1):	/* anda */	AND(a, a, 0x0f3);	SET_NZ(a);//LABEL(1a3):	/* ora */	addr = x + 0x248;	OR(a, a, MCU_RDMEM(addr));	SET_NZ(a);//LABEL(1a6):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x018, a);//LABEL(1a8):	/* bset2 */	BSET(0x001, 2);//LABEL(1aa):	/* jsr */	PUSHWORD(0x1ac);	JUMP_IMM(0x09f);LABEL(1ac):	/* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(1ae):	/* inc */	addr = 0x011;	INC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);//LABEL(1b0):	/* bclr2 */	BCLR(0x001, 2);//LABEL(1b2):	/* jsr */	PUSHWORD(0x1b4);	JUMP_IMM(0x080);LABEL(1b4):	/* lsra */	flag_c = a & 0x01;	a >>= 1;	SET_NZ(a);//LABEL(1b5):	/* lsra */	flag_c = a & 0x01;	a >>= 1;	SET_NZ(a);//LABEL(1b6):	/* anda */	AND(a, a, 0x003);	SET_NZ(a);//LABEL(1b8):	/* tax */	x = a;//LABEL(1b9):	/* lda */	addr = 0x015;	a = MCU_RDMEM(0x015);	SET_NZ(a);//LABEL(1bb):	/* anda */	AND(a, a, 0x0f3);	SET_NZ(a);//LABEL(1bd):	/* ora */	addr = x + 0x248;	OR(a, a, MCU_RDMEM(addr));	SET_NZ(a);//LABEL(1c0):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x019, a);//LABEL(1c2):	/* bset2 */	BSET(0x001, 2);//LABEL(1c4):	/* jsr */	PUSHWORD(0x1c6);	JUMP_IMM(0x09f);LABEL(1c6):	/* lda */	a = 0x019;	SET_NZ(a);//LABEL(1c8):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(1ca):	/* lda */	a = 0x01b;	SET_NZ(a);//LABEL(1cc):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(1ce):	/* jsr */	PUSHWORD(0x1d0);	JUMP_IMM(0x080);LABEL(1d0):	/* ldx */	addr = 0x019;	x = MCU_RDMEM(0x019);	SET_NZ(x);//LABEL(1d2):	/* cmpa */	SUB(temp, a, 0x0aa);//LABEL(1d4):	/* beq */	IF_CC_Z()	JUMP_IMM(0x1d8);//LABEL(1d6):	/* ldx */	addr = 0x018;	x = MCU_RDMEM(0x018);	SET_NZ(x);LABEL(1d8):	/* txa */	a = x;//LABEL(1d9):	/* jsr */	PUSHWORD(0x1db);	JUMP_IMM(0x09f);LABEL(1db):	/* lda */	a = 0x001;	SET_NZ(a);//LABEL(1dd):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(1df):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(1e1):	/* jsr */	PUSHWORD(0x1e3);	JUMP_IMM(0x080);LABEL(1e3):	/* lda */	addr = 0x012;	a = MCU_RDMEM(0x012);	SET_NZ(a);//LABEL(1e5):	/* eora */	addr = 0x014;	EOR(a, a, MCU_RDMEM(0x014));	SET_NZ(a);//LABEL(1e7):	/* anda */	AND(a, a, 0x003);	SET_NZ(a);//LABEL(1e9):	/* beq */	IF_CC_Z()	JUMP_IMM(0x233);//LABEL(1eb):	/* anda */	addr = 0x014;	AND(a, a, MCU_RDMEM(0x014));	SET_NZ(a);//LABEL(1ed):	/* beq */	IF_CC_Z()	JUMP_IMM(0x233);//LABEL(1ef):	/* ldx */	x = 0x00c;	SET_NZ(x);//LABEL(1f1):	/* stx */	SET_NZ(x);	MCU_WRMEM(0x01e, x);//LABEL(1f3):	/* brclr0 */	BRCLR(0x014, 0)	JUMP_IMM(0x1f8);//LABEL(1f6):	/* inc */	addr = 0x01c;	INC(temp, MCU_RDMEM(0x01c));	MCU_WRMEM(addr, temp);LABEL(1f8):	/* brclr1 */	BRCLR(0x014, 1)	JUMP_IMM(0x1fd);//LABEL(1fb):	/* inc */	addr = 0x01d;	INC(temp, MCU_RDMEM(0x01d));	MCU_WRMEM(addr, temp);LABEL(1fd):	/* lda */	addr = 0x01a;	a = MCU_RDMEM(0x01a);	SET_NZ(a);//LABEL(1ff):	/* bne */	IF_CC_NZ()	JUMP_IMM(0x233);//LABEL(201):	/* ldx */	addr = 0x016;	x = MCU_RDMEM(0x016);	SET_NZ(x);//LABEL(203):	/* lda */	addr = 0x01c;	a = MCU_RDMEM(0x01c);	SET_NZ(a);//LABEL(205):	/* suba */	addr = x + 0x238;	SUB(a, a, MCU_RDMEM(addr));//LABEL(208):	/* bcs */	IF_CC_C()	JUMP_IMM(0x213);//LABEL(20a):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x01c, a);//LABEL(20c):	/* bset5 */	BSET(0x01e, 5);//LABEL(20e):	/* lda */	addr = x + 0x23c;	a = MCU_RDMEM(addr);	SET_NZ(a);//LABEL(211):	/* bra */	JUMP_IMM(0x223);LABEL(213):	/* ldx */	addr = 0x017;	x = MCU_RDMEM(0x017);	SET_NZ(x);//LABEL(215):	/* lda */	addr = 0x01d;	a = MCU_RDMEM(0x01d);	SET_NZ(a);//LABEL(217):	/* suba */	addr = x + 0x240;	SUB(a, a, MCU_RDMEM(addr));//LABEL(21a):	/* bcs */	IF_CC_C()	JUMP_IMM(0x233);//LABEL(21c):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x01d, a);//LABEL(21e):	/* bset4 */	BSET(0x01e, 4);//LABEL(220):	/* lda */	addr = x + 0x244;	a = MCU_RDMEM(addr);	SET_NZ(a);LABEL(223):	/* adda */	addr = 0x015;	ADD(a, a, MCU_RDMEM(0x015));//LABEL(225):	/* jsr */	PUSHWORD(0x227);	JUMP_IMM(0x09f);LABEL(227):	/* lda */	a = 0x00a;	SET_NZ(a);//LABEL(229):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(22b):	/* lda */	a = 0x001;	SET_NZ(a);//LABEL(22d):	/* jsr */	PUSHWORD(0x22f);	JUMP_IMM(0x09f);LABEL(22f):	/* lda */	a = 0x003;	SET_NZ(a);//LABEL(231):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x01a, a);LABEL(233):	/* lda */	addr = 0x012;	a = MCU_RDMEM(0x012);	SET_NZ(a);//LABEL(235):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x014, a);//LABEL(237):	/* rts */	PULLWORD(m68705.pc);	JUMP(m68705.pc);LABEL(24c):	/* bset4 */	BSET(0x001, 4);//LABEL(24e):	/* lda */	a = 0x001;	SET_NZ(a);//LABEL(250):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(252):	/* jsr */	PUSHWORD(0x254);	JUMP_IMM(0x080);LABEL(254):	/* lda */	a = 0x008;	SET_NZ(a);//LABEL(256):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(258):	/* jsr */	PUSHWORD(0x25a);	JUMP_IMM(0x080);LABEL(25a):	/* lda */	a = 0x0b0;	SET_NZ(a);//LABEL(25c):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(25e):	/* inca */	INC(a, a);//LABEL(25f):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(261):	/* ldx */	x = 0x008;	SET_NZ(x);LABEL(263):	/* jsr */	PUSHWORD(0x265);	JUMP_IMM(0x080);LABEL(265):	/* jsr */	PUSHWORD(0x267);	JUMP_IMM(0x09f);LABEL(267):	/* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(269):	/* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(26b):	/* inc */	addr = 0x011;	INC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);//LABEL(26d):	/* inc */	addr = 0x011;	INC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);//LABEL(26f):	/* decx */	DEC(x, x);//LABEL(270):	/* bne */	IF_CC_NZ()	JUMP_IMM(0x263);//LABEL(272):	/* lda */	a = 0x090;	SET_NZ(a);//LABEL(274):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(276):	/* lda */	a = 0x0c0;	SET_NZ(a);//LABEL(278):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(27a):	/* ldx */	x = 0x00a;	SET_NZ(x);LABEL(27c):	/* jsr */	PUSHWORD(0x27e);	JUMP_IMM(0x080);LABEL(27e):	/* inca */	INC(a, a);//LABEL(27f):	/* jsr */	PUSHWORD(0x281);	JUMP_IMM(0x09f);LABEL(281):	/* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(283):	/* inc */	addr = 0x011;	INC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);//LABEL(285):	/* decx */	DEC(x, x);//LABEL(286):	/* bne */	IF_CC_NZ()	JUMP_IMM(0x27c);//LABEL(288):	/* lda */	a = 0x0d0;	SET_NZ(a);//LABEL(28a):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(28c):	/* lda */	a = 0x0d2;	SET_NZ(a);//LABEL(28e):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(290):	/* jsr */	PUSHWORD(0x292);	JUMP_IMM(0x080);LABEL(292):	/* cmpa */	SUB(temp, a, 0x000);//LABEL(294):	/* beq */	IF_CC_Z()	JUMP_IMM(0x2b2);//LABEL(296):	/* cmpa */	SUB(temp, a, 0x004);//LABEL(298):	/* bcc */	IF_CC_NC()	JUMP_IMM(0x2b2);//LABEL(29a):	/* anda */	AND(a, a, 0x003);	SET_NZ(a);//LABEL(29c):	/* tax */	x = a;//LABEL(29d):	/* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(29f):	/* jsr */	PUSHWORD(0x2a1);	JUMP_IMM(0x080);LABEL(2a1):	/* cmpa */	SUB(temp, a, 0x0ff);//LABEL(2a3):	/* bne */	IF_CC_NZ()	JUMP_IMM(0x2b2);//LABEL(2a5):	/* lda */	addr = x + 0x31f;	a = MCU_RDMEM(addr);	SET_NZ(a);//LABEL(2a8):	/* jsr */	PUSHWORD(0x2aa);	JUMP_IMM(0x09f);LABEL(2aa):	/* lda */	a = 0x0d0;	SET_NZ(a);//LABEL(2ac):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(2ae):	/* lda */	a = 0x0ff;	SET_NZ(a);//LABEL(2b0):	/* jsr */	PUSHWORD(0x2b2);	JUMP_IMM(0x09f);LABEL(2b2):	/* lda */	a = 0x0e0;	SET_NZ(a);//LABEL(2b4):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(2b6):	/* inca */	INC(a, a);//LABEL(2b7):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(2b9):	/* jsr */	PUSHWORD(0x2bb);	JUMP_IMM(0x080);LABEL(2bb):	/* beq */	IF_CC_Z()	JUMP_IMM(0x2e0);//LABEL(2bd):	/* cmpa */	SUB(temp, a, 0x004);//LABEL(2bf):	/* bcc */	IF_CC_NC()	JUMP_IMM(0x2e0);//LABEL(2c1):	/* anda */	AND(a, a, 0x003);	SET_NZ(a);//LABEL(2c3):	/* deca */	DEC(a, a);//LABEL(2c4):	/* asla */	ASL(a, a);	SET_NZ(a);//LABEL(2c5):	/* asla */	ASL(a, a);	SET_NZ(a);//LABEL(2c6):	/* asla */	ASL(a, a);	SET_NZ(a);//LABEL(2c7):	/* asla */	ASL(a, a);	SET_NZ(a);//LABEL(2c8):	/* tax */	x = a;//LABEL(2c9):	/* incx */	INC(x, x);LABEL(2ca):	/* lda */	addr = x + 0x323;	a = MCU_RDMEM(addr);	SET_NZ(a);//LABEL(2cd):	/* jsr */	PUSHWORD(0x2cf);	JUMP_IMM(0x09f);LABEL(2cf):	/* inc */	addr = 0x011;	INC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);//LABEL(2d1):	/* incx */	INC(x, x);//LABEL(2d2):	/* lda */	addr = 0x011;	a = MCU_RDMEM(0x011);	SET_NZ(a);//LABEL(2d4):	/* cmpa */	SUB(temp, a, 0x0f0);//LABEL(2d6):	/* bne */	IF_CC_NZ()	JUMP_IMM(0x2ca);//LABEL(2d8):	/* lda */	a = 0x0e0;	SET_NZ(a);//LABEL(2da):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(2dc):	/* lda */	a = 0x0ff;	SET_NZ(a);//LABEL(2de):	/* jsr */	PUSHWORD(0x2e0);	JUMP_IMM(0x09f);LABEL(2e0):	/* lda */	a = 0x0f0;	SET_NZ(a);//LABEL(2e2):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(2e4):	/* inca */	INC(a, a);//LABEL(2e5):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x011, a);//LABEL(2e7):	/* jsr */	PUSHWORD(0x2e9);	JUMP_IMM(0x080);LABEL(2e9):	/* cmpa */	SUB(temp, a, 0x000);//LABEL(2eb):	/* beq */	IF_CC_Z()	JUMP_IMM(0x2ff);//LABEL(2ed):	/* cmpa */	SUB(temp, a, 0x004);//LABEL(2ef):	/* bcc */	IF_CC_NC()	JUMP_IMM(0x2ff);//LABEL(2f1):	/* anda */	AND(a, a, 0x003);	SET_NZ(a);//LABEL(2f3):	/* tax */	x = a;//LABEL(2f4):	/* lda */	addr = x + 0x353;	a = MCU_RDMEM(addr);	SET_NZ(a);//LABEL(2f7):	/* jsr */	PUSHWORD(0x2f9);	JUMP_IMM(0x09f);LABEL(2f9):	/* dec */	addr = 0x011;	DEC(temp, MCU_RDMEM(0x011));	MCU_WRMEM(addr, temp);//LABEL(2fb):	/* lda */	a = 0x0ff;	SET_NZ(a);//LABEL(2fd):	/* jsr */	PUSHWORD(0x2ff);	JUMP_IMM(0x09f);LABEL(2ff):	/* lda */	a = 0x0a0;	SET_NZ(a);//LABEL(301):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(303):	/* jsr */	PUSHWORD(0x305);	JUMP_IMM(0x080);LABEL(305):	/* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(307):	/* jsr */	PUSHWORD(0x309);	JUMP_IMM(0x080);LABEL(309):	/* lda */	a = 0x020;	SET_NZ(a);//LABEL(30b):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(30d):	/* ldx */	x = 0x038;	SET_NZ(x);LABEL(30f):	/* jsr */	PUSHWORD(0x311);	JUMP_IMM(0x080);LABEL(311):	/* inc */	addr = 0x010;	INC(temp, MCU_RDMEM(0x010));	MCU_WRMEM(addr, temp);//LABEL(313):	/* decx */	DEC(x, x);//LABEL(314):	/* bne */	IF_CC_NZ()	JUMP_IMM(0x30f);//LABEL(316):	/* lda */	a = 0x0a3;	SET_NZ(a);//LABEL(318):	/* sta */	SET_NZ(a);	MCU_WRMEM(0x010, a);//LABEL(31a):	/* jsr */	PUSHWORD(0x31c);	JUMP_IMM(0x080);LABEL(31c):	/* jsr */	PUSHWORD(0x31e);	JUMP_IMM(0x080);LABEL(31e):	/* 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 + -