# HG changeset patch # User Michael Pavone # Date 1538446614 25200 # Node ID 0e8438a4c76fb5216a62ab37c3920d52a66e1351 # Parent 5dbc453cd34592e66823793c033d1666bf9cf3ce Clean up warnings from -1 case diff -r 5dbc453cd345 -r 0e8438a4c76f cpu_dsl.py --- 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]: diff -r 5dbc453cd345 -r 0e8438a4c76f svp.cpu --- 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