changeset 10:9f575f77a157

Fix parsing of hex literals in assembler
author Michael Pavone <pavone@retrodev.com>
date Sun, 27 Mar 2016 17:32:09 -0700
parents a3f14b00aead
children 04d8efe7a1f0
files src/asm.c
diffstat 1 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/asm.c	Sun Mar 27 16:15:46 2016 -0700
+++ b/src/asm.c	Sun Mar 27 17:32:09 2016 -0700
@@ -203,7 +203,7 @@
 	{
 		//TODO: actual error checking
 		if (arg[0] == '$' || (arg[0] == '0' && arg[1] == 'x')) {
-			value = strtol(arg, NULL, 16);
+			value = strtol(arg[0] == '$' ? arg+1 : arg+2, NULL, 16);
 		} else if (arg[0] >= '0' && arg[0] <= '9') {
 			value = strtol(arg, NULL, 10);
 		} else if (arg[0] == '"') {
@@ -321,7 +321,7 @@
 	
 	//TODO: actual error checking
 	if (arg[0] == '$' || (arg[0] == '0' && arg[1] == 'x')) {
-		value = strtol(arg, NULL, 16);
+		value = strtol(arg[0] == '$' ? arg+1 : arg+2, NULL, 16);
 	} else if (arg[0] >= '0' && arg[0] <= '9') {
 		value = strtol(arg, NULL, 10);
 	} else {