diff --git a/src/interpreter/interpreter.rs b/src/interpreter/interpreter.rs index 6da95fc..52d4c3c 100644 --- a/src/interpreter/interpreter.rs +++ b/src/interpreter/interpreter.rs @@ -431,7 +431,7 @@ impl Interpreter { Mnemonic::JL(_) => flags.sf != flags.of, Mnemonic::JLE(_) => flags.zf || (flags.sf != flags.of), Mnemonic::JGE(_) => flags.sf == flags.of, - Mnemonic::JG(_) => !flags.zf || (flags.sf == flags.of), + Mnemonic::JG(_) => !flags.zf && (flags.sf == flags.of), Mnemonic::JMP_b(_) | Mnemonic::JMP_v(_) => true, _ => panic!("unreachable"), };