我正在调试我编写的小型汇编程序,每次都会出现分段错误 它被编译为64位。
section .text
global _start ;must be declared for linker (ld)
_start: ;tell linker entry point
mov eax, 1
mov eax, 2
mov eax, 3
mov eax, 4
mov eax, 5
mov eax, 6
push 'A'
mov edx, [esp] ; Here's where it crashes
call putc
add esp, 4
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
%include "utils.inc"
根据我的理解,堆叠的头部($edx
的内容)应该是' A'。
为什么我无法访问堆栈的头部?