Я пытаюсь реализовать функцию в сборке, где первый параметр является входным значением, а второй параметр является возвращаемым значением. Я просто пытаюсь установить возвращаемое значение для входного значения.
Я написал небольшую программу на C, которая вызывает эту функцию.
код C:
#include <stdio.h>
extern void f1(int,int*);
int main() {
int z1 = 0;
int z2;
scanf("%d", &z1);
f1(z1,&z2);
printf("A1: %i\n",z2);
return 0;
}
код сборки:
f1:
push ebp
mov ebp,esp
mov eax, [ebp+8]
mov [ebp+12],eax
pop ebp
ret
Выходной сигнал должен быть равен входному значению, но это «случайное» отрицательное значение типа int, например «-5870340» или «-3303956».