gpt4 book ai didi

linux - 程序集 x64 getcwd() 未输出

转载 作者:行者123 更新时间:2023-12-01 00:09:23 26 4
gpt4 key购买 nike

我刚刚开始在 Linux 上学习/使用 Assembly x64,并尝试调用 getcwd()call .尝试调用 getcwd() 后函数,我也试图输出不起作用的结果,我不明白为什么。任何指针/帮助将不胜感激。对不起,如果这是一个愚蠢的问题。我在网上找了一些例子,但没有找到任何对我有特别帮助的。非常感谢。这是代码:

section .text
global _start

extern getcwd

_start:
mov rdi,rbx
mov rsi,128

call getcwd wrt ..plt

mov rax,1
mov rdi,1
mov rsi,rbx
mov rdx,128

syscall

mov rax,60
mov rdi,0

syscall

我编译:

nasm -f elf64 -o file.o file.asm
gcc -nostdlib -v -o file file.o -lc
./file

什么都没有显示

最佳答案

这是在堆栈上分配空间的可能实现。我也切换到mainputs :

global main
extern getcwd
extern puts

main:
sub rsp, 128+8 ; buffer + alignment
mov rdi, rsp
mov rsi, 128

call getcwd wrt ..plt
call puts wrt ..plt

add rsp, 128+8
ret

关于linux - 程序集 x64 getcwd() 未输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60189319/

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