not qword [rsp]
next
- WORD p_false, 'FALSE',fasm
+ WORD p_false, 'FALSE',dovalue
;; ( -- 0 )
;; Push a false flag, 0.
- push qword 0
- next
+ dq 0
- WORD p_true, 'TRUE',fasm
+ WORD p_true, 'TRUE',dovalue
;; ( -- true )
;; Return a true flag, -1. (non-zero)
- push qword -1
- next
+ dq -1
pop_false_next:
mov qword [rsp],0
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
;; ( 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
;; ( 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
;; 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
;; 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
;; ( 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
;; ( 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