bug fix for handling main arg -v
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Sun, 30 May 2021 04:34:43 +0000 (14:34 +1000)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Sun, 30 May 2021 04:34:43 +0000 (14:34 +1000)
rrqforth.asm

index f7f310af30754fd9f506a5ee51c1dc6f7b069853..f5d6269191cdce57edef6f335b440c0fce4c75f9 100644 (file)
@@ -212,13 +212,11 @@ main:
        ;; return boolean in rdx
        ;; implementation for that 2 byte asciiz string
 main_is_verbose_data:
-       dq main_is_verbose_data_end - $ ; length of data 
        db '-v',0
-main_is_verbose_data_end:
 
 main_is_verbose:
        mov rbx,qword [p_args_DFA] ; Pointer to main arguments
-       mov r8,qword [rbx]
+       mov r8,qword [rbx]         ; r8 = count of pointers
        xor rdx,rdx
        cld
 main_is_verbose_next:
@@ -227,13 +225,11 @@ main_is_verbose_next:
        add rbx,8
        mov rsi,qword [rbx]
        mov rdi,main_is_verbose_data
-       lodsq
-       mov rcx,rax
 main_is_verbose_loop:
        cmpsb
        jne main_is_verbose_next
-       dec rcx
-       jg main_is_verbose_loop
+       cmp byte[rsi-1],0
+       jne main_is_verbose_loop
        not rdx
 main_is_not_verbose:
        ret