From: Ralph Ronnquist Date: Thu, 20 May 2021 19:25:25 +0000 (+1000) Subject: fixing STRNCMP X-Git-Url: https://git.rrq.au/?a=commitdiff_plain;h=6c715ff898f1bd259322ac454bde4540eee1f1d3;p=rrq%2Frrqforth.git fixing STRNCMP --- diff --git a/wordlists.asm b/wordlists.asm index b2e8260..5f4f281 100644 --- a/wordlists.asm +++ b/wordlists.asm @@ -64,7 +64,7 @@ p_words_END: inc rdx p_strncmp_loop: dec rdx - je p_strncmp_end + jle p_strncmp_end mov cl,[rax] inc rax sub cl,[rbx] @@ -85,16 +85,16 @@ p_strncmp_end: p_find_loop: cmp rcx,0 je p_find_notfound ; jump at end of word list - cmp rbx,qword [rcx+16] ; compare lengths + cmp rbx,qword [rcx+24] ; compare lengths jne p_find_nextword ; jump on length mismatch push rcx ; save tfa for later ;; check word push rsi ; input chars tfa2pname rcx - push rcx ; word chars + push rcx ; word pname push rbx ; length - DOFORTH p_strncmp - pop rax ; return value + DOFORTH p_strncmp ; ( s1* s2 n -- v ) + pop rax ; return value v pop rcx ; restore tfa cmp rax,0 je p_find_found