changeset 1619:0e8438a4c76f

Clean up warnings from -1 case
author Michael Pavone <pavone@retrodev.com>
date Mon, 01 Oct 2018 19:16:54 -0700
parents 5dbc453cd345
children a172f97d873f
files cpu_dsl.py svp.cpu
diffstat 2 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/cpu_dsl.py	Mon Oct 01 19:11:17 2018 -0700
+++ b/cpu_dsl.py	Mon Oct 01 19:16:54 2018 -0700
@@ -489,8 +489,9 @@
 	
 	def addOp(self, op):
 		if op.op == 'case':
-			self.cases[int(op.params[0])] = self.current_case = []
-			self.case_locals[int(op.params[0])] = self.current_locals = {}
+			val = int(op.params[0], 16) if op.params[0].startswith('0x') else int(op.params[0])
+			self.cases[val] = self.current_case = []
+			self.case_locals[val] = self.current_locals = {}
 		elif op.op == 'default':
 			self.default = self.current_case = []
 			self.default_locals = self.current_locals = {}
@@ -543,7 +544,7 @@
 			for case in self.cases:
 				self.current_locals = self.case_locals[case]
 				self.regValues = dict(self.parent.regValues)
-				output.append('\n\tcase {0}: '.format(case) + '{')
+				output.append('\n\tcase {0}U: '.format(case) + '{')
 				for local in self.case_locals[case]:
 					output.append('\n\tuint{0}_t {1};'.format(self.case_locals[case][local], local))
 				for op in self.cases[case]:
--- a/svp.cpu	Mon Oct 01 19:11:17 2018 -0700
+++ b/svp.cpu	Mon Oct 01 19:16:54 2018 -0700
@@ -36,9 +36,9 @@
 	
 svp_push
 	arg src 16
-	add -1 stackidx stackidx
+	sub 1 stackidx stackidx
 	switch stackidx
-	case -1
+	case 0xFF
 	mov 5 stackidx
 	end
 	mov src stack.stackidx