diff src/insn_misc.c @ 28:c0ff62e5ad39

Added register list mode handler
author lost
date Fri, 02 Jan 2009 03:17:26 +0000
parents f736579569b4
children 7c6b8bdf8c5c
line wrap: on
line diff
--- a/src/insn_misc.c	Fri Jan 02 02:56:04 2009 +0000
+++ b/src/insn_misc.c	Fri Jan 02 03:17:26 2009 +0000
@@ -28,44 +28,6 @@
 
 extern void insn_gen_aux(asmstate_t *as, sourceline_t *cl, char **optr, int *b1, int *b2, int *b3, int *op);
 
-void insn_rlist(asmstate_t *as, sourceline_t *cl, char **optr)
-{
-	int rb = 0;
-	int rn;
-	static const char *regs = "CCA B DPX Y U PCD S ";
-
-	emitop(instab[cl -> opcode].ops[0]);
-	cl -> addrmode = OPER_RLIST;
-	while (**optr && !isspace(**optr))
-	{
-		rn = lookupreg(regs, optr);
-		if (rn < 0)
-		{
-			printf("Bad reg (%s)\n", *optr);
-			errorp1(ERR_BADOPER);
-			emit(0);
-			return;
-		}
-		if (**optr && **optr != ',' && !isspace(**optr))
-		{
-			printf("Bad char (%c)\n", **optr);
-			errorp1(ERR_BADOPER);
-			emit(0);
-			return;
-		}
-		if (**optr == ',')
-			(*optr)++;
-		if (rn == 8)
-			rn = 6;
-		else if (rn == 9)
-			rn = 0x40;
-		else
-			rn = 1 << rn;
-		rb |= rn;
-	}
-	emit(rb);
-}
-
 // for aim, oim, eim, tim
 void insn_logicmem(asmstate_t *as, sourceline_t *cl, char **optr)
 {