NASM指针操作

时间:2014-03-27 17:14:49

标签: c nasm string.h strchr

我坚持使用NASM代码,我试图重现NASM中的strchr功能,我无法弄清楚两件事: - 为什么当我尝试打印结果时,即使我试图在字符串上返回一个指针,我也会在printf%s的错误格式上收到警告, - 也是为什么我一直收到SIGSEV信号,但我认为有一个问题与另一个问题有关。

这是我的代码,如果有人可以提供帮助,我们将不胜感激:

[BITS 64]
        global strchr_asm


strchr_asm:
        push rbp    
        mov rbp, rsp

        mov r9, -1
        mov rax, rsi
        mov r8b, BYTE[rdi]

loop:
        inc r9
        cmp BYTE[rax+r9], 0
        je  endF
        cmp BYTE[rax+r9], r8b
        je endV
        jmp loop

endF:
        add rax, r9
        jmp last

endV:
        add rax, r9

last:
        mov rsp, rbp
        pop rbp
        ret

0 个答案:

没有答案