prime/asm/Runtime/s_frexp.s

54 lines
2.0 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .text, "ax"
.global frexp
frexp:
/* 8039460C 0039156C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80394610 00391570 38 80 00 00 */ li r4, 0
/* 80394614 00391574 3C 00 7F F0 */ lis r0, 0x7ff0
/* 80394618 00391578 D8 21 00 08 */ stfd f1, 8(r1)
/* 8039461C 0039157C 80 A1 00 08 */ lwz r5, 8(r1)
/* 80394620 00391580 90 83 00 00 */ stw r4, 0(r3)
/* 80394624 00391584 54 A4 00 7E */ clrlwi r4, r5, 1
/* 80394628 00391588 80 C1 00 0C */ lwz r6, 0xc(r1)
/* 8039462C 0039158C 7C 04 00 00 */ cmpw r4, r0
/* 80394630 00391590 40 80 00 0C */ bge lbl_8039463C
/* 80394634 00391594 7C 80 33 79 */ or. r0, r4, r6
/* 80394638 00391598 40 82 00 0C */ bne lbl_80394644
lbl_8039463C:
/* 8039463C 0039159C C8 21 00 08 */ lfd f1, 8(r1)
/* 80394640 003915A0 48 00 00 50 */ b lbl_80394690
lbl_80394644:
/* 80394644 003915A4 3C 00 00 10 */ lis r0, 0x10
/* 80394648 003915A8 7C 04 00 00 */ cmpw r4, r0
/* 8039464C 003915AC 40 80 00 20 */ bge lbl_8039466C
/* 80394650 003915B0 C8 02 D4 B0 */ lfd f0, lbl_805AF1D0@sda21(r2)
/* 80394654 003915B4 38 00 FF CA */ li r0, -54
/* 80394658 003915B8 90 03 00 00 */ stw r0, 0(r3)
/* 8039465C 003915BC FC 01 00 32 */ fmul f0, f1, f0
/* 80394660 003915C0 D8 01 00 08 */ stfd f0, 8(r1)
/* 80394664 003915C4 80 A1 00 08 */ lwz r5, 8(r1)
/* 80394668 003915C8 54 A4 00 7E */ clrlwi r4, r5, 1
lbl_8039466C:
/* 8039466C 003915CC 54 A0 03 00 */ rlwinm r0, r5, 0, 0xc, 0
/* 80394670 003915D0 80 A3 00 00 */ lwz r5, 0(r3)
/* 80394674 003915D4 7C 84 A6 70 */ srawi r4, r4, 0x14
/* 80394678 003915D8 64 00 3F E0 */ oris r0, r0, 0x3fe0
/* 8039467C 003915DC 90 01 00 08 */ stw r0, 8(r1)
/* 80394680 003915E0 7C 84 2A 14 */ add r4, r4, r5
/* 80394684 003915E4 38 04 FC 02 */ addi r0, r4, -1022
/* 80394688 003915E8 90 03 00 00 */ stw r0, 0(r3)
/* 8039468C 003915EC C8 21 00 08 */ lfd f1, 8(r1)
lbl_80394690:
/* 80394690 003915F0 38 21 00 10 */ addi r1, r1, 0x10
/* 80394694 003915F4 4E 80 00 20 */ blr
.section .sdata2, "a"
.global lbl_805AF1D0
lbl_805AF1D0:
# ROM: 0x3FBA70
.4byte 0x43500000
.4byte 0