From 90c8237c513812157f08f6ab01d6d983ce4bef4f Mon Sep 17 00:00:00 2001 From: Neil Webber Date: Sat, 30 Mar 2024 08:28:58 -0500 Subject: [PATCH] Fix for 'python & signmask #6' -- xor is bitwise not boolean --- op00.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/op00.py b/op00.py index 490cd39..3b7f7f8 100644 --- a/op00.py +++ b/op00.py @@ -185,7 +185,7 @@ def op00_60_ror(cpu, inst, opsize=2): cpu.psw_n = val & signmask cpu.psw_z = (val == 0) - cpu.psw_v = cpu.psw_n ^ cpu.psw_c + cpu.psw_v = bool(cpu.psw_n) != bool(cpu.psw_c) cpu.operandx(xb6, val, opsize=opsize) @@ -199,7 +199,7 @@ def op00_61_rol(cpu, inst, opsize=2): cpu.psw_n = val & signmask cpu.psw_z = (val == 0) - cpu.psw_v = cpu.psw_n ^ cpu.psw_c + cpu.psw_v = bool(cpu.psw_n) != bool(cpu.psw_c) cpu.operandx(xb6, val, opsize=opsize) @@ -213,7 +213,7 @@ def op00_62_asr(cpu, inst, opsize=2): val |= signbit cpu.psw_n = (val & cpu.SIGN816[opsize]) cpu.psw_z = (val == 0) - cpu.psw_v = cpu.psw_n ^ cpu.psw_c + cpu.psw_v = bool(cpu.psw_n) != bool(cpu.psw_c) cpu.operandx(xb6, val, opsize=opsize) @@ -224,7 +224,7 @@ def op00_63_asl(cpu, inst, opsize=2): val = (val << 1) & cpu.MASK816[opsize] cpu.psw_n = (val & cpu.SIGN816[opsize]) cpu.psw_z = (val == 0) - cpu.psw_v = cpu.psw_n ^ cpu.psw_c + cpu.psw_v = bool(cpu.psw_n) != bool(cpu.psw_c) cpu.operandx(xb6, val, opsize=opsize)