123456789101112131415161718192021222324252627282930313233 |
- #
- ! $Source$
- ! $State$
- ! $Revision$
- #include "powerpc.h"
-
- .sect .text
- ! Converts a 32-bit unsigned integer into a 64-bit double.
- !
- ! Stack: ( uint -- double )
- .define .cuf8
- .cuf8:
- addi sp, sp, -4 ! make space for the double
-
- addis r3, r0, 0x4330
- stw r3, 0(sp) ! set high word to construct a double
-
- lfd f0, 0(sp) ! load value
-
- la (r3, pivot)
- lfd f1, 0(r3) ! load pivot value
- fsub f0, f0, f1 ! adjust
-
- stfd f0, 0(sp) ! save value again...
- bclr ALWAYS, 0, 0 ! ...and return
- .sect .rom
- pivot:
- .data4 0x43300000
- .data4 0x00000000
|