x86-64 NASM [重复]中外部函数的传递参数>> [

问题描述 投票:0回答:1
在x86-32中,您需要push作为堆栈的参数,在x86-64中,它也使用某些特定的寄存器,并且仅在堆栈之后使用。就是说,我不明白为什么在尝试打印整数时会得到Segmentation faultka未使用):
global _main extern _printf section .data format: db "%d" b: dw 10 blen: equ $-b lenlen: equ $-blen k: dw 6 section .bss a: resw 1 section .text _main: sub rsp, 8 mov rax, 0 mov rdi, format mov rsi, b call _printf mov rax, 0x2000001 mov rdi, 0 syscall

在x86-32中,您将参数压入堆栈,而在x86-64中,它也使用某些特定的寄存器,并且仅在堆栈之后使用。就是说,我不明白为什么在尝试打印时会出现细分错误...

macos assembly x86-64 nasm
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.