X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=control.asm;h=b6bfe0f005e964ce1773fa025d7d618e01ea95e4;hb=764d368fcefee647569660b167624506c35175aa;hp=f46d7d4e552e97336a6b2c0a516611b3e40892ca;hpb=6feac19e9a7e003a0f47890bf39a9a8324697e4b;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