# ! $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 li32 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