mirror of
https://github.com/projectPiki/pikmin2.git
synced 2024-12-11 07:24:00 +00:00
75c3292df0
linkmap goes faster now
327 lines
15 KiB
ArmAsm
327 lines
15 KiB
ArmAsm
.include "macros.inc"
|
|
.section .data, "wa" # 0x8049E220 - 0x804EFC20
|
|
.balign 8
|
|
.global YearDays
|
|
YearDays:
|
|
.4byte 0x00000000
|
|
.4byte 0x0000001F
|
|
.4byte 0x0000003B
|
|
.4byte 0x0000005A
|
|
.4byte 0x00000078
|
|
.4byte 0x00000097
|
|
.4byte 0x000000B5
|
|
.4byte 0x000000D4
|
|
.4byte 0x000000F3
|
|
.4byte 0x00000111
|
|
.4byte 0x00000130
|
|
.4byte 0x0000014E
|
|
.global LeapYearDays
|
|
LeapYearDays:
|
|
.4byte 0x00000000
|
|
.4byte 0x0000001F
|
|
.4byte 0x0000003C
|
|
.4byte 0x0000005B
|
|
.4byte 0x00000079
|
|
.4byte 0x00000098
|
|
.4byte 0x000000B6
|
|
.4byte 0x000000D5
|
|
.4byte 0x000000F4
|
|
.4byte 0x00000112
|
|
.4byte 0x00000131
|
|
.4byte 0x0000014F
|
|
|
|
.section .text, "ax" # 0x800056C0 - 0x80472F00
|
|
.global OSGetTime
|
|
OSGetTime:
|
|
/* 800F2B90 000EFAD0 7C 6D 42 E6 */ mftbu r3
|
|
/* 800F2B94 000EFAD4 7C 8C 42 E6 */ mftb r4, 0x10c
|
|
/* 800F2B98 000EFAD8 7C AD 42 E6 */ mftbu r5
|
|
/* 800F2B9C 000EFADC 7C 03 28 00 */ cmpw r3, r5
|
|
/* 800F2BA0 000EFAE0 40 82 FF F0 */ bne OSGetTime
|
|
/* 800F2BA4 000EFAE4 4E 80 00 20 */ blr
|
|
|
|
.global OSGetTick
|
|
OSGetTick:
|
|
/* 800F2BA8 000EFAE8 7C 6C 42 E6 */ mftb r3, 0x10c
|
|
/* 800F2BAC 000EFAEC 4E 80 00 20 */ blr
|
|
|
|
.global __OSGetSystemTime
|
|
__OSGetSystemTime:
|
|
/* 800F2BB0 000EFAF0 7C 08 02 A6 */ mflr r0
|
|
/* 800F2BB4 000EFAF4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 800F2BB8 000EFAF8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
|
/* 800F2BBC 000EFAFC 93 E1 00 1C */ stw r31, 0x1c(r1)
|
|
/* 800F2BC0 000EFB00 93 C1 00 18 */ stw r30, 0x18(r1)
|
|
/* 800F2BC4 000EFB04 93 A1 00 14 */ stw r29, 0x14(r1)
|
|
/* 800F2BC8 000EFB08 4B FF C0 71 */ bl OSDisableInterrupts
|
|
/* 800F2BCC 000EFB0C 7C 7F 1B 78 */ mr r31, r3
|
|
/* 800F2BD0 000EFB10 4B FF FF C1 */ bl OSGetTime
|
|
/* 800F2BD4 000EFB14 3C C0 80 00 */ lis r6, 0x800030DC@ha
|
|
/* 800F2BD8 000EFB18 80 A6 30 DC */ lwz r5, 0x800030DC@l(r6)
|
|
/* 800F2BDC 000EFB1C 80 06 30 D8 */ lwz r0, 0x30d8(r6)
|
|
/* 800F2BE0 000EFB20 7F A5 20 14 */ addc r29, r5, r4
|
|
/* 800F2BE4 000EFB24 7F C0 19 14 */ adde r30, r0, r3
|
|
/* 800F2BE8 000EFB28 7F E3 FB 78 */ mr r3, r31
|
|
/* 800F2BEC 000EFB2C 4B FF C0 75 */ bl OSRestoreInterrupts
|
|
/* 800F2BF0 000EFB30 7F A4 EB 78 */ mr r4, r29
|
|
/* 800F2BF4 000EFB34 7F C3 F3 78 */ mr r3, r30
|
|
/* 800F2BF8 000EFB38 80 01 00 24 */ lwz r0, 0x24(r1)
|
|
/* 800F2BFC 000EFB3C 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
|
/* 800F2C00 000EFB40 83 C1 00 18 */ lwz r30, 0x18(r1)
|
|
/* 800F2C04 000EFB44 83 A1 00 14 */ lwz r29, 0x14(r1)
|
|
/* 800F2C08 000EFB48 38 21 00 20 */ addi r1, r1, 0x20
|
|
/* 800F2C0C 000EFB4C 7C 08 03 A6 */ mtlr r0
|
|
/* 800F2C10 000EFB50 4E 80 00 20 */ blr
|
|
|
|
.global GetDates
|
|
GetDates:
|
|
/* 800F2C14 000EFB54 3C A0 92 49 */ lis r5, 0x92492493@ha
|
|
/* 800F2C18 000EFB58 38 05 24 93 */ addi r0, r5, 0x92492493@l
|
|
/* 800F2C1C 000EFB5C 38 E3 00 06 */ addi r7, r3, 6
|
|
/* 800F2C20 000EFB60 7C C0 38 96 */ mulhw r6, r0, r7
|
|
/* 800F2C24 000EFB64 3C A0 B3 8D */ lis r5, 0xB38CF9B1@ha
|
|
/* 800F2C28 000EFB68 38 05 F9 B1 */ addi r0, r5, 0xB38CF9B1@l
|
|
/* 800F2C2C 000EFB6C 7C 00 18 96 */ mulhw r0, r0, r3
|
|
/* 800F2C30 000EFB70 7C A6 3A 14 */ add r5, r6, r7
|
|
/* 800F2C34 000EFB74 7C A5 16 70 */ srawi r5, r5, 2
|
|
/* 800F2C38 000EFB78 54 A6 0F FE */ srwi r6, r5, 0x1f
|
|
/* 800F2C3C 000EFB7C 7C A5 32 14 */ add r5, r5, r6
|
|
/* 800F2C40 000EFB80 7C 00 1A 14 */ add r0, r0, r3
|
|
/* 800F2C44 000EFB84 1C C5 00 07 */ mulli r6, r5, 7
|
|
/* 800F2C48 000EFB88 7C 00 46 70 */ srawi r0, r0, 8
|
|
/* 800F2C4C 000EFB8C 54 05 0F FE */ srwi r5, r0, 0x1f
|
|
/* 800F2C50 000EFB90 7C A0 2A 14 */ add r5, r0, r5
|
|
/* 800F2C54 000EFB94 7C 06 38 50 */ subf r0, r6, r7
|
|
/* 800F2C58 000EFB98 1D 65 01 6D */ mulli r11, r5, 0x16d
|
|
/* 800F2C5C 000EFB9C 90 04 00 18 */ stw r0, 0x18(r4)
|
|
/* 800F2C60 000EFBA0 48 00 00 04 */ b .L_800F2C64
|
|
.L_800F2C64:
|
|
/* 800F2C64 000EFBA4 3C C0 51 EC */ lis r6, 0x51EB851F@ha
|
|
/* 800F2C68 000EFBA8 39 46 85 1F */ addi r10, r6, 0x51EB851F@l
|
|
/* 800F2C6C 000EFBAC 48 00 00 04 */ b .L_800F2C70
|
|
.L_800F2C70:
|
|
/* 800F2C70 000EFBB0 48 00 00 0C */ b .L_800F2C7C
|
|
.L_800F2C74:
|
|
/* 800F2C74 000EFBB4 39 6B FE 93 */ addi r11, r11, -365
|
|
/* 800F2C78 000EFBB8 38 A5 FF FF */ addi r5, r5, -1
|
|
.L_800F2C7C:
|
|
/* 800F2C7C 000EFBBC 2C 05 00 01 */ cmpwi r5, 1
|
|
/* 800F2C80 000EFBC0 40 80 00 0C */ bge .L_800F2C8C
|
|
/* 800F2C84 000EFBC4 38 00 00 00 */ li r0, 0
|
|
/* 800F2C88 000EFBC8 48 00 00 38 */ b .L_800F2CC0
|
|
.L_800F2C8C:
|
|
/* 800F2C8C 000EFBCC 38 05 FF FF */ addi r0, r5, -1
|
|
/* 800F2C90 000EFBD0 7C 0A 00 96 */ mulhw r0, r10, r0
|
|
/* 800F2C94 000EFBD4 7C 08 3E 70 */ srawi r8, r0, 7
|
|
/* 800F2C98 000EFBD8 7C 06 2E 70 */ srawi r6, r0, 5
|
|
/* 800F2C9C 000EFBDC 38 05 00 03 */ addi r0, r5, 3
|
|
/* 800F2CA0 000EFBE0 54 C7 0F FE */ srwi r7, r6, 0x1f
|
|
/* 800F2CA4 000EFBE4 7C 00 16 70 */ srawi r0, r0, 2
|
|
/* 800F2CA8 000EFBE8 55 09 0F FE */ srwi r9, r8, 0x1f
|
|
/* 800F2CAC 000EFBEC 7C C6 3A 14 */ add r6, r6, r7
|
|
/* 800F2CB0 000EFBF0 7C 00 01 94 */ addze r0, r0
|
|
/* 800F2CB4 000EFBF4 7C E8 4A 14 */ add r7, r8, r9
|
|
/* 800F2CB8 000EFBF8 7C 06 00 50 */ subf r0, r6, r0
|
|
/* 800F2CBC 000EFBFC 7C 07 02 14 */ add r0, r7, r0
|
|
.L_800F2CC0:
|
|
/* 800F2CC0 000EFC00 7C 0B 02 14 */ add r0, r11, r0
|
|
/* 800F2CC4 000EFC04 7C 03 00 00 */ cmpw r3, r0
|
|
/* 800F2CC8 000EFC08 41 80 FF AC */ blt .L_800F2C74
|
|
/* 800F2CCC 000EFC0C 7C A6 16 70 */ srawi r6, r5, 2
|
|
/* 800F2CD0 000EFC10 90 A4 00 14 */ stw r5, 0x14(r4)
|
|
/* 800F2CD4 000EFC14 7C C6 01 94 */ addze r6, r6
|
|
/* 800F2CD8 000EFC18 54 C6 10 3A */ slwi r6, r6, 2
|
|
/* 800F2CDC 000EFC1C 7C C6 28 10 */ subfc r6, r6, r5
|
|
/* 800F2CE0 000EFC20 7C 00 18 50 */ subf r0, r0, r3
|
|
/* 800F2CE4 000EFC24 2C 06 00 00 */ cmpwi r6, 0
|
|
/* 800F2CE8 000EFC28 90 04 00 1C */ stw r0, 0x1c(r4)
|
|
/* 800F2CEC 000EFC2C 38 E0 00 01 */ li r7, 1
|
|
/* 800F2CF0 000EFC30 39 00 00 00 */ li r8, 0
|
|
/* 800F2CF4 000EFC34 40 82 00 30 */ bne .L_800F2D24
|
|
/* 800F2CF8 000EFC38 3C 60 51 EC */ lis r3, 0x51EB851F@ha
|
|
/* 800F2CFC 000EFC3C 38 63 85 1F */ addi r3, r3, 0x51EB851F@l
|
|
/* 800F2D00 000EFC40 7C 63 28 96 */ mulhw r3, r3, r5
|
|
/* 800F2D04 000EFC44 7C 63 2E 70 */ srawi r3, r3, 5
|
|
/* 800F2D08 000EFC48 54 66 0F FE */ srwi r6, r3, 0x1f
|
|
/* 800F2D0C 000EFC4C 7C 63 32 14 */ add r3, r3, r6
|
|
/* 800F2D10 000EFC50 1C 63 00 64 */ mulli r3, r3, 0x64
|
|
/* 800F2D14 000EFC54 7C 63 28 50 */ subf r3, r3, r5
|
|
/* 800F2D18 000EFC58 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800F2D1C 000EFC5C 41 82 00 08 */ beq .L_800F2D24
|
|
/* 800F2D20 000EFC60 7C E8 3B 78 */ mr r8, r7
|
|
.L_800F2D24:
|
|
/* 800F2D24 000EFC64 2C 08 00 00 */ cmpwi r8, 0
|
|
/* 800F2D28 000EFC68 40 82 00 30 */ bne .L_800F2D58
|
|
/* 800F2D2C 000EFC6C 3C 60 51 EC */ lis r3, 0x51EB851F@ha
|
|
/* 800F2D30 000EFC70 38 63 85 1F */ addi r3, r3, 0x51EB851F@l
|
|
/* 800F2D34 000EFC74 7C 63 28 96 */ mulhw r3, r3, r5
|
|
/* 800F2D38 000EFC78 7C 63 3E 70 */ srawi r3, r3, 7
|
|
/* 800F2D3C 000EFC7C 54 66 0F FE */ srwi r6, r3, 0x1f
|
|
/* 800F2D40 000EFC80 7C 63 32 14 */ add r3, r3, r6
|
|
/* 800F2D44 000EFC84 1C 63 01 90 */ mulli r3, r3, 0x190
|
|
/* 800F2D48 000EFC88 7C 63 28 50 */ subf r3, r3, r5
|
|
/* 800F2D4C 000EFC8C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800F2D50 000EFC90 41 82 00 08 */ beq .L_800F2D58
|
|
/* 800F2D54 000EFC94 38 E0 00 00 */ li r7, 0
|
|
.L_800F2D58:
|
|
/* 800F2D58 000EFC98 2C 07 00 00 */ cmpwi r7, 0
|
|
/* 800F2D5C 000EFC9C 41 82 00 10 */ beq .L_800F2D6C
|
|
/* 800F2D60 000EFCA0 3C 60 80 4B */ lis r3, LeapYearDays@ha
|
|
/* 800F2D64 000EFCA4 38 C3 9E 30 */ addi r6, r3, LeapYearDays@l
|
|
/* 800F2D68 000EFCA8 48 00 00 0C */ b .L_800F2D74
|
|
.L_800F2D6C:
|
|
/* 800F2D6C 000EFCAC 3C 60 80 4B */ lis r3, YearDays@ha
|
|
/* 800F2D70 000EFCB0 38 C3 9E 00 */ addi r6, r3, YearDays@l
|
|
.L_800F2D74:
|
|
/* 800F2D74 000EFCB4 38 E0 00 0C */ li r7, 0xc
|
|
/* 800F2D78 000EFCB8 38 60 00 30 */ li r3, 0x30
|
|
/* 800F2D7C 000EFCBC 48 00 00 04 */ b .L_800F2D80
|
|
.L_800F2D80:
|
|
/* 800F2D80 000EFCC0 48 00 00 04 */ b .L_800F2D84
|
|
.L_800F2D84:
|
|
/* 800F2D84 000EFCC4 38 63 FF FC */ addi r3, r3, -4
|
|
/* 800F2D88 000EFCC8 7C A6 18 2E */ lwzx r5, r6, r3
|
|
/* 800F2D8C 000EFCCC 38 E7 FF FF */ addi r7, r7, -1
|
|
/* 800F2D90 000EFCD0 7C 00 28 00 */ cmpw r0, r5
|
|
/* 800F2D94 000EFCD4 41 80 FF F0 */ blt .L_800F2D84
|
|
/* 800F2D98 000EFCD8 90 E4 00 10 */ stw r7, 0x10(r4)
|
|
/* 800F2D9C 000EFCDC 7C 66 18 2E */ lwzx r3, r6, r3
|
|
/* 800F2DA0 000EFCE0 7C 63 00 50 */ subf r3, r3, r0
|
|
/* 800F2DA4 000EFCE4 38 03 00 01 */ addi r0, r3, 1
|
|
/* 800F2DA8 000EFCE8 90 04 00 0C */ stw r0, 0xc(r4)
|
|
/* 800F2DAC 000EFCEC 4E 80 00 20 */ blr
|
|
|
|
.global OSTicksToCalendarTime
|
|
OSTicksToCalendarTime:
|
|
/* 800F2DB0 000EFCF0 7C 08 02 A6 */ mflr r0
|
|
/* 800F2DB4 000EFCF4 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 800F2DB8 000EFCF8 94 21 FF C8 */ stwu r1, -0x38(r1)
|
|
/* 800F2DBC 000EFCFC BF 21 00 1C */ stmw r25, 0x1c(r1)
|
|
/* 800F2DC0 000EFD00 7C 7D 1B 78 */ mr r29, r3
|
|
/* 800F2DC4 000EFD04 7C 9E 23 78 */ mr r30, r4
|
|
/* 800F2DC8 000EFD08 7C BF 2B 78 */ mr r31, r5
|
|
/* 800F2DCC 000EFD0C 3F 60 80 00 */ lis r27, 0x800000F8@ha
|
|
/* 800F2DD0 000EFD10 80 1B 00 F8 */ lwz r0, 0x800000F8@l(r27)
|
|
/* 800F2DD4 000EFD14 7F A3 EB 78 */ mr r3, r29
|
|
/* 800F2DD8 000EFD18 7F C4 F3 78 */ mr r4, r30
|
|
/* 800F2DDC 000EFD1C 54 06 F0 BE */ srwi r6, r0, 2
|
|
/* 800F2DE0 000EFD20 38 A0 00 00 */ li r5, 0
|
|
/* 800F2DE4 000EFD24 4B FC F1 FD */ bl __mod2i
|
|
/* 800F2DE8 000EFD28 7C 7A 1B 78 */ mr r26, r3
|
|
/* 800F2DEC 000EFD2C 38 A0 00 00 */ li r5, 0
|
|
/* 800F2DF0 000EFD30 7C 99 23 78 */ mr r25, r4
|
|
/* 800F2DF4 000EFD34 6F 44 80 00 */ xoris r4, r26, 0x8000
|
|
/* 800F2DF8 000EFD38 6C A3 80 00 */ xoris r3, r5, 0x8000
|
|
/* 800F2DFC 000EFD3C 7C 05 C8 10 */ subfc r0, r5, r25
|
|
/* 800F2E00 000EFD40 7C 63 21 10 */ subfe r3, r3, r4
|
|
/* 800F2E04 000EFD44 7C 64 21 10 */ subfe r3, r4, r4
|
|
/* 800F2E08 000EFD48 7C 63 00 D0 */ neg r3, r3
|
|
/* 800F2E0C 000EFD4C 2C 03 00 00 */ cmpwi r3, 0
|
|
/* 800F2E10 000EFD50 41 82 00 14 */ beq .L_800F2E24
|
|
/* 800F2E14 000EFD54 80 1B 00 F8 */ lwz r0, 0xf8(r27)
|
|
/* 800F2E18 000EFD58 54 00 F0 BE */ srwi r0, r0, 2
|
|
/* 800F2E1C 000EFD5C 7F 39 00 14 */ addc r25, r25, r0
|
|
/* 800F2E20 000EFD60 7F 5A 29 14 */ adde r26, r26, r5
|
|
.L_800F2E24:
|
|
/* 800F2E24 000EFD64 38 80 00 08 */ li r4, 8
|
|
/* 800F2E28 000EFD68 7C 7A 21 D6 */ mullw r3, r26, r4
|
|
/* 800F2E2C 000EFD6C 7C 19 20 16 */ mulhwu r0, r25, r4
|
|
/* 800F2E30 000EFD70 3F 60 80 00 */ lis r27, 0x800000F8@ha
|
|
/* 800F2E34 000EFD74 80 DB 00 F8 */ lwz r6, 0x800000F8@l(r27)
|
|
/* 800F2E38 000EFD78 3C A0 43 1C */ lis r5, 0x431BDE83@ha
|
|
/* 800F2E3C 000EFD7C 38 A5 DE 83 */ addi r5, r5, 0x431BDE83@l
|
|
/* 800F2E40 000EFD80 54 C6 F0 BE */ srwi r6, r6, 2
|
|
/* 800F2E44 000EFD84 7C A5 30 16 */ mulhwu r5, r5, r6
|
|
/* 800F2E48 000EFD88 54 A6 8B FE */ srwi r6, r5, 0xf
|
|
/* 800F2E4C 000EFD8C 3B 80 00 00 */ li r28, 0
|
|
/* 800F2E50 000EFD90 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800F2E54 000EFD94 7C 19 E1 D6 */ mullw r0, r25, r28
|
|
/* 800F2E58 000EFD98 7C 99 21 D6 */ mullw r4, r25, r4
|
|
/* 800F2E5C 000EFD9C 7C 63 02 14 */ add r3, r3, r0
|
|
/* 800F2E60 000EFDA0 38 A0 00 00 */ li r5, 0
|
|
/* 800F2E64 000EFDA4 4B FC EF 61 */ bl __div2i
|
|
/* 800F2E68 000EFDA8 38 A0 00 00 */ li r5, 0
|
|
/* 800F2E6C 000EFDAC 38 C0 03 E8 */ li r6, 0x3e8
|
|
/* 800F2E70 000EFDB0 4B FC F1 71 */ bl __mod2i
|
|
/* 800F2E74 000EFDB4 90 9F 00 24 */ stw r4, 0x24(r31)
|
|
/* 800F2E78 000EFDB8 3C 60 10 62 */ lis r3, 0x10624DD3@ha
|
|
/* 800F2E7C 000EFDBC 38 A3 4D D3 */ addi r5, r3, 0x10624DD3@l
|
|
/* 800F2E80 000EFDC0 80 1B 00 F8 */ lwz r0, 0xf8(r27)
|
|
/* 800F2E84 000EFDC4 7F 43 D3 78 */ mr r3, r26
|
|
/* 800F2E88 000EFDC8 7F 24 CB 78 */ mr r4, r25
|
|
/* 800F2E8C 000EFDCC 54 00 F0 BE */ srwi r0, r0, 2
|
|
/* 800F2E90 000EFDD0 7C 05 00 16 */ mulhwu r0, r5, r0
|
|
/* 800F2E94 000EFDD4 54 06 D1 BE */ srwi r6, r0, 6
|
|
/* 800F2E98 000EFDD8 38 A0 00 00 */ li r5, 0
|
|
/* 800F2E9C 000EFDDC 4B FC EF 29 */ bl __div2i
|
|
/* 800F2EA0 000EFDE0 38 A0 00 00 */ li r5, 0
|
|
/* 800F2EA4 000EFDE4 38 C0 03 E8 */ li r6, 0x3e8
|
|
/* 800F2EA8 000EFDE8 4B FC F1 39 */ bl __mod2i
|
|
/* 800F2EAC 000EFDEC 90 9F 00 20 */ stw r4, 0x20(r31)
|
|
/* 800F2EB0 000EFDF0 7F D9 F0 10 */ subfc r30, r25, r30
|
|
/* 800F2EB4 000EFDF4 7F BA E9 10 */ subfe r29, r26, r29
|
|
/* 800F2EB8 000EFDF8 80 1B 00 F8 */ lwz r0, 0xf8(r27)
|
|
/* 800F2EBC 000EFDFC 3C A0 00 01 */ lis r5, 0x00015180@ha
|
|
/* 800F2EC0 000EFE00 3B 25 51 80 */ addi r25, r5, 0x00015180@l
|
|
/* 800F2EC4 000EFE04 7F A3 EB 78 */ mr r3, r29
|
|
/* 800F2EC8 000EFE08 54 06 F0 BE */ srwi r6, r0, 2
|
|
/* 800F2ECC 000EFE0C 7F C4 F3 78 */ mr r4, r30
|
|
/* 800F2ED0 000EFE10 38 A0 00 00 */ li r5, 0
|
|
/* 800F2ED4 000EFE14 4B FC EE F1 */ bl __div2i
|
|
/* 800F2ED8 000EFE18 7F 26 CB 78 */ mr r6, r25
|
|
/* 800F2EDC 000EFE1C 38 A0 00 00 */ li r5, 0
|
|
/* 800F2EE0 000EFE20 4B FC EE E5 */ bl __div2i
|
|
/* 800F2EE4 000EFE24 3C A0 00 0B */ lis r5, 0x000B2575@ha
|
|
/* 800F2EE8 000EFE28 80 1B 00 F8 */ lwz r0, 0xf8(r27)
|
|
/* 800F2EEC 000EFE2C 38 A5 25 75 */ addi r5, r5, 0x000B2575@l
|
|
/* 800F2EF0 000EFE30 7F 44 28 14 */ addc r26, r4, r5
|
|
/* 800F2EF4 000EFE34 54 06 F0 BE */ srwi r6, r0, 2
|
|
/* 800F2EF8 000EFE38 7C 03 E1 14 */ adde r0, r3, r28
|
|
/* 800F2EFC 000EFE3C 7F A3 EB 78 */ mr r3, r29
|
|
/* 800F2F00 000EFE40 7F C4 F3 78 */ mr r4, r30
|
|
/* 800F2F04 000EFE44 38 A0 00 00 */ li r5, 0
|
|
/* 800F2F08 000EFE48 4B FC EE BD */ bl __div2i
|
|
/* 800F2F0C 000EFE4C 7F 26 CB 78 */ mr r6, r25
|
|
/* 800F2F10 000EFE50 38 A0 00 00 */ li r5, 0
|
|
/* 800F2F14 000EFE54 4B FC F0 CD */ bl __mod2i
|
|
/* 800F2F18 000EFE58 7C 9B 23 78 */ mr r27, r4
|
|
/* 800F2F1C 000EFE5C 2C 1B 00 00 */ cmpwi r27, 0
|
|
/* 800F2F20 000EFE60 40 80 00 10 */ bge .L_800F2F30
|
|
/* 800F2F24 000EFE64 3F 7B 00 01 */ addis r27, r27, 1
|
|
/* 800F2F28 000EFE68 3B 5A FF FF */ addi r26, r26, -1
|
|
/* 800F2F2C 000EFE6C 3B 7B 51 80 */ addi r27, r27, 0x5180
|
|
.L_800F2F30:
|
|
/* 800F2F30 000EFE70 7F 43 D3 78 */ mr r3, r26
|
|
/* 800F2F34 000EFE74 7F E4 FB 78 */ mr r4, r31
|
|
/* 800F2F38 000EFE78 4B FF FC DD */ bl GetDates
|
|
/* 800F2F3C 000EFE7C 3C 60 88 89 */ lis r3, 0x88888889@ha
|
|
/* 800F2F40 000EFE80 38 A3 88 89 */ addi r5, r3, 0x88888889@l
|
|
/* 800F2F44 000EFE84 7C 05 D8 96 */ mulhw r0, r5, r27
|
|
/* 800F2F48 000EFE88 7C 80 DA 14 */ add r4, r0, r27
|
|
/* 800F2F4C 000EFE8C 7C 80 2E 70 */ srawi r0, r4, 5
|
|
/* 800F2F50 000EFE90 54 03 0F FE */ srwi r3, r0, 0x1f
|
|
/* 800F2F54 000EFE94 7C E0 1A 14 */ add r7, r0, r3
|
|
/* 800F2F58 000EFE98 7C 05 38 96 */ mulhw r0, r5, r7
|
|
/* 800F2F5C 000EFE9C 7C 00 3A 14 */ add r0, r0, r7
|
|
/* 800F2F60 000EFEA0 7C 05 2E 70 */ srawi r5, r0, 5
|
|
/* 800F2F64 000EFEA4 7C 00 2E 70 */ srawi r0, r0, 5
|
|
/* 800F2F68 000EFEA8 54 03 0F FE */ srwi r3, r0, 0x1f
|
|
/* 800F2F6C 000EFEAC 7C 60 1A 14 */ add r3, r0, r3
|
|
/* 800F2F70 000EFEB0 7C 80 2E 70 */ srawi r0, r4, 5
|
|
/* 800F2F74 000EFEB4 54 A6 0F FE */ srwi r6, r5, 0x1f
|
|
/* 800F2F78 000EFEB8 1C 83 00 3C */ mulli r4, r3, 0x3c
|
|
/* 800F2F7C 000EFEBC 54 03 0F FE */ srwi r3, r0, 0x1f
|
|
/* 800F2F80 000EFEC0 7C A5 32 14 */ add r5, r5, r6
|
|
/* 800F2F84 000EFEC4 7C 00 1A 14 */ add r0, r0, r3
|
|
/* 800F2F88 000EFEC8 90 BF 00 08 */ stw r5, 8(r31)
|
|
/* 800F2F8C 000EFECC 1C 00 00 3C */ mulli r0, r0, 0x3c
|
|
/* 800F2F90 000EFED0 7C 64 38 50 */ subf r3, r4, r7
|
|
/* 800F2F94 000EFED4 90 7F 00 04 */ stw r3, 4(r31)
|
|
/* 800F2F98 000EFED8 7C 00 D8 50 */ subf r0, r0, r27
|
|
/* 800F2F9C 000EFEDC 90 1F 00 00 */ stw r0, 0(r31)
|
|
/* 800F2FA0 000EFEE0 BB 21 00 1C */ lmw r25, 0x1c(r1)
|
|
/* 800F2FA4 000EFEE4 80 01 00 3C */ lwz r0, 0x3c(r1)
|
|
/* 800F2FA8 000EFEE8 38 21 00 38 */ addi r1, r1, 0x38
|
|
/* 800F2FAC 000EFEEC 7C 08 03 A6 */ mtlr r0
|
|
/* 800F2FB0 000EFEF0 4E 80 00 20 */ blr
|