X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=impl.asm;h=923406f2465e50728f83e5e710bfe42341b1205f;hb=423e2197f05d6af11aa75a7a15aa3f8e3be78cbf;hp=573646904581b28d7e9fc344f2137f6cda32519a;hpb=89a6a52d6128a4f9ac3c7aa26fc0df111e4160db;p=rrq%2Fjonasforth.git diff --git a/impl.asm b/impl.asm index 5736469..923406f 100644 --- a/impl.asm +++ b/impl.asm @@ -15,12 +15,12 @@ segment readable executable find: ;; RSI contains the entry we are currently looking at .loop: - movzx rcx, byte [rsi + 16] ; Length of word being looked at + movzx rcx, byte [rsi + 8 + 1] ; Length of word being looked at cmp rcx, [.search_length] jne .next ; If the words don't have the same length, we have the wrong word ;; Otherwise, we need to compare strings - lea rdx, [rsi + 16 + 1] ; Location of character being compared in entry + lea rdx, [rsi + 8 + 1 + 1] ; Location of character being compared in entry mov rdi, [.search_buffer] ; Location of character being compared in search buffer .compare_char: mov al, [rdx]