global _start
section .text
_start:
sub esp, 1
call sumnum
add esp, 1
mov eax, 4
mov ebx, 1
mov ecx, esp
mov edx, 1
int 0x80
mov eax, 1
mov ebx, 0
int 0x80
sumnum:
add esp, 1
mov esp, 5+4
sub esp, 1
int 0x80
ret
Эта программа при сборке и связывании приводит к ошибке границы адреса SIGSEGV. Что мне нужно исправить в моем коде? Цель состоит в том, чтобы вызвать функцию, которая добавляет два числа и сохраняет их в стеке, чтобы в конечном итоге снова использовать для записи в терминал.