gpt4 book ai didi

c - 为什么这个 x86_64 汇编代码不起作用?

转载 作者:太空宇宙 更新时间:2023-11-04 00:32:55 25 4
gpt4 key购买 nike

section .text
global my_strlen

my_strlen:
xor rax, rax
.LOOP:
cmp BYTE[rdi+rax], 0
jne .LOOP
inc rax
ret

我执行它:

#include <stddef.h>
#include <stdio.h>

extern size_t my_strlen(const char *str);

int main(int argc, char *argv[]) {
if(argc!=2) return 1;
printf("%lu\n", (unsigned long)my_strlen(argv[1]));
return 0;
}

但是当我执行程序时,它没有输出任何东西,也没有关闭。

最佳答案

您需要在循环内递增 rax。

关于c - 为什么这个 x86_64 汇编代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6081142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com