        ; FILE "return2.c"

        SECTION         .rodata
        ALIGN 8
_LC0:   dd 0, 1074266112        ; 3.0 in floating point

        SECTION .text
GLOBAL foo

foo: 
        push    ebp                     ; set up stack frame
        mov     ebp,esp
        sub     esp,8

        mov     eax, [ebp+8]            ; copy first 4 bytes of actual parameter
        mov     [ebp-8],eax
        mov     eax, [ebp+12]           ; copy next 4 bytes of actual parameter
        mov     [ebp-4],eax
        fld     qword [ebp-8]           ; load param value in floatin point register
        fld     qword [_LC0]            ; load 3.0
        fmulp   st1,st0                 ; multiply, return value in st0

        leave                           ; take down stack frame
        ret


