diff --git a/vm.rkt b/vm.rkt index 1dd27b9..b025297 100644 --- a/vm.rkt +++ b/vm.rkt @@ -165,11 +165,13 @@ (lambda (m) (let ([c (get-carry m)] [z (get-zero m)]) - (case cc - [(NZ) (if (not z) (set-pc addr m) m)] - [(Z) (if z (set-pc addr) m)] - [(NC) (if (not c) (set-pc addr) m)] - [(C) (if c (set-pc addr) m)])))) + (if (case cc + [(NZ) (not z)] + [(Z) z] + [(NC) (not c)] + [(C) c]) + (set-pc addr m) + m)))) (define (jp-uncond addr) (lambda (m)