From: Ralph Ronnquist Date: Sun, 30 May 2021 13:26:16 +0000 (+1000) Subject: fixing inveresed logic X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;h=0520f31ccfaa9bf44bb41db3c2a1ca9d309ec21e;p=rrq%2Frrqforth.git fixing inveresed logic --- diff --git a/logic.asm b/logic.asm index 53673a8..56dd2db 100644 --- a/logic.asm +++ b/logic.asm @@ -52,18 +52,15 @@ pop_true_next: pop rax pop rbx cmp qword [rsp],rbx - jl p_within_not + jl pop_false_next cmp qword [rsp],rax - jge p_within_not - not rcx -p_within_not: - next - + jge pop_false_next + jmp pop_true_next + WORD p_0less, '0<',fasm ;; ( n -- flag ) ;; flag is true (non-zero) if and only if n is less than zero. - pop rax - cmp rax,qword [rsp] + cmp qword [rsp],0 jl pop_true_next jmp pop_false_next @@ -78,7 +75,7 @@ p_within_not: ;; ( n1 n2 -- flag ) ;; flag is true if and only if n1 is less than n2. pop rax - cmp rax,qword [rsp] + cmp qword [rsp],rax jl pop_true_next jmp pop_false_next @@ -86,7 +83,7 @@ p_within_not: ;; ( n1 n2 -- flag ) ;; flag is true if and only if n1 is less than n2. pop rax - cmp rax,qword [rsp] + cmp qword [rsp],rax jle pop_true_next jmp pop_false_next @@ -95,7 +92,7 @@ p_within_not: ;; flag is true if and only if x1 is bit-for-bit the same as ;; x2. pop rax - cmp rax,qword [rsp] + cmp qword [rsp],rax je pop_true_next jmp pop_false_next @@ -104,7 +101,7 @@ p_within_not: ;; flag is true if and only if x1 is bit-for-bit the same as ;; x2. pop rax - cmp qword [rsp], rax + cmp qword [rsp],rax jne pop_true_next jmp pop_false_next @@ -112,7 +109,7 @@ p_within_not: ;; ( n1 n2 -- flag ) ;; flag is true if and only if n1 is greater than n2. pop rax - cmp rax,qword [rsp] + cmp qword [rsp],rax jg pop_true_next jmp pop_false_next @@ -120,6 +117,6 @@ p_within_not: ;; ( n1 n2 -- flag ) ;; flag is true if and only if n1 is greater than n2. pop rax - cmp rax,qword [rsp] + cmp qword [rsp],rax jge pop_true_next jmp pop_false_next