projects
/
rrq
/
rrqforth.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add EVALUATE-STREAM and stuff
[rrq/rrqforth.git]
/
machine.asm
diff --git
a/machine.asm
b/machine.asm
index 74b1060427dbce1cfc4321e405ae19f8e2484f1b..357b80718695b4ea3dc56ff09f5c21eb3eccc927 100644
(file)
--- a/
machine.asm
+++ b/
machine.asm
@@
-134,6
+134,7
@@
label#_TFA:
end if
previous_word = label#_TFA
;; PFA
end if
previous_word = label#_TFA
;; PFA
+label#_pCFA:
dq label#_CFA ; link to CFA of word
dq flags + 0
label#_PFA:
dq label#_CFA ; link to CFA of word
dq flags + 0
label#_PFA:
@@
-141,6
+142,7
@@
label#_PFA:
db name
pname: db 0 ; extra NUL byte
;; align 8
db name
pname: db 0 ; extra NUL byte
;; align 8
+label#_pTFA:
dq label#_TFA ; link to TFA of word
label#_OFF:
dq offset + 0 ; The DOES offset. Defaults to 0.
dq label#_TFA ; link to TFA of word
label#_OFF:
dq offset + 0 ; The DOES offset. Defaults to 0.
@@
-163,10
+165,17
@@
label#_DFA:
macro tfa2cfa reg {
mov reg,qword [reg+8]
}
macro tfa2cfa reg {
mov reg,qword [reg+8]
}
+macro tfa2does reg {
+ tfa2cfa reg
+ sub reg,8
+}
macro tfa2dfa reg {
tfa2cfa reg
add reg,8
}
macro tfa2dfa reg {
tfa2cfa reg
add reg,8
}
+macro tfa2flags reg {
+ add reg,16
+}
macro tfa2pfa reg {
add reg,24
}
macro tfa2pfa reg {
add reg,24
}