fixed END to resolve properly
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Sun, 30 May 2021 13:58:42 +0000 (23:58 +1000)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Sun, 30 May 2021 13:58:42 +0000 (23:58 +1000)
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