diff src/asm.c @ 25:fb14515266f4

Implemented timer and timer interrupts. Added get/setvbr instructions. Fixed assembler bug. Moved mnemonics into a separate source file
author Michael Pavone <pavone@retrodev.com>
date Thu, 31 Mar 2016 23:25:52 -0700
parents d4112095b93f
children 5a8b5f9fc50a
line wrap: on
line diff
--- a/src/asm.c	Thu Mar 31 00:07:37 2016 -0700
+++ b/src/asm.c	Thu Mar 31 23:25:52 2016 -0700
@@ -120,8 +120,8 @@
 		}
 		return ret;
 	}
-	index = find_string_arr(mnemonics_single_reg, mnemonic, SETENUM+1);
-	if (index > SETENUM) {
+	index = find_string_arr(mnemonics_single_reg, mnemonic, SETVBR+1);
+	if (index > SETVBR) {
 		ret.base = 0xFFFF;
 		return ret;
 	}
@@ -310,9 +310,11 @@
 	}
 	if (!strcmp(arg, "pc")) {
 		*inst |= REG_PC << arg_shift;
+		return 1;
 	}
 	if (!strcmp(arg, "sr")) {
 		*inst |= REG_SR << arg_shift;
+		return 1;
 	}
 	if (immed_min == immed_max) {
 		fprintf(stderr, "ERROR: Non-register argument %s where a register is required\n", arg);