I am working on converting assembly language to a C program. I understand that in the function below that there is one parameter set to equal 0 and it is compared to something (which I am unsure of what which is why I'm confused). if x is less than or equal to whatever it's being compared to, then the function will jump to f2 which will then copy 0 into a local variable but if not it will copy 1 into a local variable and copy that into register a which is returned. I don't understand what the parameter is being compared to in the first few lines. Can anyone point me in the right direction?
here is the language:
pushl %ebp
movl %esp, %ebp
subl $4, %esp
cmpl $0, 8(%ebp)
jle . f2
movl $1, -4(%ebp)
jmp. f3
.f2:
movl $0, -4(%ebp)
.f3:
movl -4(%ebp), %eax
leave
ret
This is what I think it should look like in C:
fn(int x)
{
x = 0;
if x <= ? :
int y = 0;
else
int y = 1;
}
return y;
Thank You in advanced