From 715ff48d225d93a8762775fd96b8dd6e1ebc9cfd Mon Sep 17 00:00:00 2001 From: Neil Webber Date: Fri, 17 May 2024 12:03:09 -0500 Subject: [PATCH] optimize TST on register direct --- op00.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/op00.py b/op00.py index 88e36fb..3b998b1 100644 --- a/op00.py +++ b/op00.py @@ -169,7 +169,12 @@ def op00_56_sbc(cpu, inst, opsize=2): def op00_57_tst(cpu, inst, opsize=2): """TST(B) (determined by opsize). Test destination.""" dst = inst & 0o77 - val = cpu.operandx(dst, opsize=opsize) + if dst < 8: + val = cpu.r[dst] + if opsize == 1: + val &= 0o377 + else: + val = cpu.operandx(dst, opsize=opsize) cpu.psw_n = (val & cpu.SIGN816[opsize]) cpu.psw_z = (val == 0) cpu.psw_v = 0