From 0ec7effda904e81336440b1fb1208cc9317b9e29 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Sat, 10 Aug 2019 17:05:48 -0400 Subject: [PATCH] optimization - don't cmp #0 --- string_compiler.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/string_compiler.py b/string_compiler.py index f2b6c06..ebc548f 100644 --- a/string_compiler.py +++ b/string_compiler.py @@ -77,7 +77,9 @@ def generate_asm(asm, d, level): dd = d[k] l = asm.reserve_label() if flag_i: mask = mask_char(asm, short_m, mask, or_mask(k)) - asm.emit("cmp #${:04x}\t; '{}'".format(str_to_int(k), str_to_print(k)), 3) + v = str_to_int(k) + if v != 0: + asm.emit("cmp #${:04x}\t; '{}'".format(v, str_to_print(k)), 3) asm.bne(l) generate_asm(asm, dd, level+1) asm.emit_label(l) @@ -92,7 +94,9 @@ def generate_asm(asm, d, level): dd = d[k] l = asm.reserve_label() if flag_i: mask = mask_char(asm, short_m, mask, or_mask(k)) - asm.emit("cmp #${:02x}\t; '{}'".format(str_to_int(k), str_to_print(k)), 2) + v = str_to_int(k) + if v != 0: + asm.emit("cmp #${:02x}\t; '{}'".format(v, str_to_print(k)), 2) asm.bne(l) generate_asm(asm, dd, level+1) asm.emit_label(l)