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