X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=control.asm;h=b6bfe0f005e964ce1773fa025d7d618e01ea95e4;hb=42844a6fe395162a374bd7bb6e8ed9a04b8d580c;hp=f46d7d4e552e97336a6b2c0a516611b3e40892ca;hpb=bf67023324b2a0c5723dd3167ef757209ba62e01;p=rrq%2Frrqforth.git diff --git a/control.asm b/control.asm index f46d7d4..b6bfe0f 100644 --- a/control.asm +++ b/control.asm @@ -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