projects
/
rrq
/
rrqforth.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drop the inline_code marker for wordlists
[rrq/rrqforth.git]
/
wordlists.asm
diff --git
a/wordlists.asm
b/wordlists.asm
index b2e8260e479d275c24a3162776cb5ab28fc82757..5f4f281c6be3ea3f2bcb1047b7379bedcd9c40ec 100644
(file)
--- a/
wordlists.asm
+++ b/
wordlists.asm
@@
-64,7
+64,7
@@
p_words_END:
inc rdx
p_strncmp_loop:
dec rdx
inc rdx
p_strncmp_loop:
dec rdx
- je p_strncmp_end
+ j
l
e p_strncmp_end
mov cl,[rax]
inc rax
sub cl,[rbx]
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
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
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
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
pop rcx ; restore tfa
cmp rax,0
je p_find_found