projects
/
rrq
/
rrqforth.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
upgrade
[rrq/rrqforth.git]
/
stack.asm
diff --git
a/stack.asm
b/stack.asm
index 5b6910b5cb3bef019f7e10336ca62a4e05194042..637d8aca69da1a778e004f4cee3d4694d089ddaa 100644
(file)
--- a/
stack.asm
+++ b/
stack.asm
@@
-1,5
+1,14
@@
;;; Words for stack manipulations
;;; Words for stack manipulations
+ WORD p_dsp,'D[n]',fasm
+ ;; ( n -- a )
+ ;; Push the address of the n:th cell below n onto the stack
+ pop rax
+ shl rax,3
+ add rax,rsp
+ push rax
+ next
+
WORD p_depth,'DEPTH',fasm
;; ( -- v )
;; Push stack depth (before push)
WORD p_depth,'DEPTH',fasm
;; ( -- v )
;; Push stack depth (before push)
@@
-152,7
+161,12
@@
p_roll_eq:
push qword [rbp]
next
push qword [rbp]
next
- WORD p_rsp,'R[n]',fasm
+ WORD p_rbp,'RSP',fasm
+ ;; Push the return stack pointer to the data stack
+ push rbp
+ next
+
+ WORD p_rbpn,'R[n]',fasm
;; ( n -- a )
;; push the address of the n:th cell on the return stack
mov rax,qword [rsp]
;; ( n -- a )
;; push the address of the n:th cell on the return stack
mov rax,qword [rsp]