push qword p_line_buffer_DFA
        push qword 0
        push rax
+
 p_read_word_skipblanks:        
        FORTH
        dq p_dup
        jl p_read_word_nomore
        cmp bl,' '
        jle p_read_word_skipblanks
+
 p_read_word_readword:
+       ;; ( buffer length stream )
+       mov rax,qword [rsp+16]
+       mov rcx,qword [rsp+8]
+       mov [rax+rcx],bl
+       inc qword [rsp+8]
        FORTH
        dq p_dup
        dq p_read_stream_char
        cmp bl,0
        jl p_read_word_nomore
        cmp bl,' '
-       jle p_read_word_nomore
-       ;; ( buffer length stream )
-       mov rax,qword [rsp+16]
-       mov rcx,qword [rsp+8]
-       mov [rax+rcx],bl
-       inc qword [rsp+8]
-       jmp p_read_word_readword
+       jg p_read_word_readword
+
 p_read_word_nomore:
        pop rax
        popr rsi