리눅스 터미널에서 c랑 어셈블리랑 같이 컴파일 해서  실행하려고 하는데


컴파일까진 되는데 실행하면 아무것도 안뜨네요 ㅠㅠㅠㅠ


먼저 c파일


//cal.c


#include <stdio.h>

int add(int, int );
int sub(int, int );
int mul(int, int );
int div(int, int );
int fibo(int );
int fact(int );

int main(void) {

int select = 0;

int value_1 = 0;

int value_2 = 0;

int result = 0;

while(select) {

printf("choose 1.arithmatic 2.fibonacci 3.factorial \n");
scanf("%d", &select);
fflush(stdin);

if(select == 0 || select > 4) {

printf("wrong input \n");

continue;
}

if(select == 1) {

printf("choose 1.add 2.sub 3.mul. 4.div \n");
scanf("%d", &select);
fflush(stdin);

if(select == 0 || select > 4) {

printf("wrong input \n");
continue;
}

printf("input first value \n");
scanf("%d", &value_1);
fflush(stdin);

printf("input second value \n");
scanf("%d", &value_2);

switch(select) {

case 1 :result = add(value_1, value_2);
    break;
case 2 :result = sub(value_1, value_2);
    break;
case 3 :result = mul(value_1, value_2);
    break;
case 4 :result = div(value_1, value_2);
    break;
}

if (select == 2) {

printf("input value \n");
scanf("%d", &value_1);

result = fibo(value_1);
}

if (select == 3) {

printf("input value \n");
scanf("%d", &value_1);

result = fact(value_1);
}
printf("result is %d \n", result);
printf("one more time? 0.no the ohter.yes \n");
scanf("%d", &select);

if(select != 0) {

continue;
}

}//while
return 0;
}//main
}

////////////////////////////////



그리고 어셈블리어로 짠 s파일 입니다


//arithmatic.s



    .text

.global add

add:

    pushl    p
    movl    %esp, p
    movl    12(p), x
    movl    8(p), x
    addl    x, x
    ret

.global sub

sub:

    pushl    p
    movl    %esp, p
    movl    12(p), x
    movl    8(p), x
    subl    x ,x
    ret

.global mul

mul:

    pushl    p
    movl    %esp, p
    movl    12(p), x
    movl    8(p), x
    imull    x
    ret

.global div

div:

    pushl    p
    movl    %esp, p
    movl    12(p), x
    movl    8(p), x
    div    x
    ret

.global fact

fact:

    pushl    p
    movl    %esp, p
    movl    8(p), x
    movl    8(p), x
    decl    x
L1:    cmpl    8(p), x
    je L2
    mull    x
    decl    x
    jmp L1
L2:    ret


.global fibo

fibo:

    pushl    p
    movl    %esp, p
    movl    $0, x
    movl    $0, x
L3:    cmp    8(p), x
    je L4
    incl    x
    addl    x, x
    jmp L3
L4:    ret


///////////////////////


이렇게 두 파일 놓고


gcc -o cal cal.c arithmatic.s

이렇게 해서 컴파일 된 cal파일 까지 나왔는데


./cal

로 실행하면 아무것도 안뜨네요


제발 답변좀 부탁드립니다 ㅠㅠㅠ