added generated files
[rrq/rrqforth.git] / machine.asm
index 7f65bbeb130390cd6f96121a65be3046275e5f6f..86b1e7f1aac47f5276c6a3019dcb917b02f9febf 100644 (file)
@@ -74,6 +74,7 @@ macro popr x {
 
 macro next {
        lodsq                   ; mov rax, [rsi] + add rsi,8
+       call p_calltrace_DFA
        jmp qword [rax]         ; goto code of that FORTH word (64 bit jump)
 }
 
@@ -97,9 +98,12 @@ macro ENDFORTH {
 ;;; ========================================
 ;;; The DOFORTH lays out a single FORTH call
 
-macro DOFORTH label {
+macro DOFORTH [label] {
+common
        FORTH
+forward
        dq label
+common
        ENDFORTH
 }
 
@@ -234,3 +238,15 @@ macro BRANCH zero,label {
        end if
        dq label - $ - 8
 }
+
+;;; ========================================
+;;; The STREAM macro starts an in-core FORTH STREAM area. See WORD
+;;; STREAM for details.
+       macro STREAM endlabel {
+       local datastart
+       dq $+32
+       dq -1
+       dq endlabel - datastart
+       dq 0
+datastart:
+       }