print floating pt using xmm0

Vikas N Kumar vikasnkumar at users.sourceforge.net
Fri Oct 27 06:01:59 PDT 2006


Thanks Peter. the ABI document did not mention that printf required
all 8byte doubles all the time.

On 10/27/06, Peter Johnson <peter at tortall.net> wrote:
> It appears the AMD64 ABI for varargs functions requires all 8-byte double
> values.  The printf function is varargs, so all floats are passed as
> doubles.  A "normal" function call that has float in the arguments list
> takes it as a 4-byte value.
>
> (above per disassembly of GCC output on Linux/amd64)
>
> Peter
>
> On Thu, 26 Oct 2006, Vikas N Kumar wrote:
>
> > But what is wrong with using cvtsi2ss ?
> > I want to print a 4byte floating point as opposed to a 8byte double .
> >
> > Thanks
> > Vikas
> >
> > On 10/26/06, Peter Johnson <peter at tortall.net> wrote:
> >> You need to use cvtsi2sd, not cvtsi2ss.
> >>
> >> Peter
> >>
> >> On Thu, 26 Oct 2006, Vikas N Kumar wrote:
> >>
> >>> Hi All
> >>> Below is my code to print a floating point number which has been
> >>> loaded into XMM0 register.
> >>> For some reason it always prints 0.0000. I am not able to figure it
> >>> out.  Could anyone let me know what I am doing wrong here ? It seems
> >>> right based on the manual.
> >>>
> >>> section .data
> >>>    fltprmpt db "%f",10,0
> >>>
> >>> section .text
> >>>
> >>>    global main
> >>>    extern printf
> >>>
> >>>    main:
> >>>        enter 0,0
> >>>        mov     rdi, dword fltprmpt
> >>>        mov     rdx, 10
> >>>        cvtsi2ss    xmm0, edx
> >>>        mov     rax, 1
> >>>        call    printf
> >>>        leave
> >>>        ret
> >>>
> >>> Regards,
> >>> Vikas
> >>> --
> >>> http://www.vikaskumar.org/
> >>> _______________________________________________
> >>> yasm-devel mailing list
> >>> yasm-devel at tortall.net
> >>> http://cvs.tortall.net/mailman/listinfo/yasm-devel
> >>>
> >>
> >
> >
> > --
> > http://www.vikaskumar.org/
> > _______________________________________________
> > yasm-devel mailing list
> > yasm-devel at tortall.net
> > http://cvs.tortall.net/mailman/listinfo/yasm-devel
> >
>


-- 
http://www.vikaskumar.org/


More information about the yasm-devel mailing list