fixed END to resolve properly
[rrq/rrqforth.git] / control.asm
index f46d7d4e552e97336a6b2c0a516611b3e40892ca..b6bfe0f005e964ce1773fa025d7d618e01ea95e4 100644 (file)
@@ -146,17 +146,18 @@ p_ifagain_resolve:
        ;; Resolves all open branches for the preceding BEGIN and
        ;; optional several IFBREAK
        mov rax,rsp
+p_end_scan:
        cmp qword [rax],0
        je p_end_resolve
        add rax,8
-       jmp p_end_DFA
+       jmp p_end_scan
 p_end_resolve:
        mov rax,qword [rax+8] ; address of BEGIN
 p_end_next:
        pop rbx
        cmp rbx,0
        je p_end_ending
-       mov rcx,rax
+       mov rcx,qword [p_here_DFA]
        sub rcx,rbx
        mov qword [rbx-8],rcx
        jmp p_end_next