Files
dusklight/include/JSystem/JKernel/JKRExpHeap/asm/func_802D0938.s
T
Jonathan Wase 4fa0ecdd97 JKRSolidHeap (#69)
* JKRSolidHeap progress

* JKRSolidHeap, added const to virtual functions, and JKRHeap::TState

* fixed braces

* fix function overload

* clang-format

Co-authored-by: Julgodis <>
Co-authored-by: Pheenoh <pheenoh@gmail.com>
2021-01-06 20:33:03 -05:00

51 lines
2.4 KiB
ArmAsm

/* state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl __ct__10JKRExpHeapFPvUlP7JKRHeapb::state_register( const(JKRHeap::TState *, unsigned long)) */
/* missing reference */
/* 802D0938 002CD878 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D093C 002CD87C 7C 08 02 A6 */ mflr r0
/* 802D0940 002CD880 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D0944 002CD884 39 61 00 20 */ addi r11, r1, 0x20
/* 802D0948 002CD888 48 09 18 95 */ bl _savegpr_29
/* 802D094C 002CD88C 7C 7D 1B 78 */ mr r29, r3
/* 802D0950 002CD890 7C 9E 23 78 */ mr r30, r4
/* 802D0954 002CD894 7C BF 2B 78 */ mr r31, r5
/* 802D0958 002CD898 93 E4 00 14 */ stw r31, 0x14(r4)
/* 802D095C 002CD89C 28 1F 00 FF */ cmplwi r31, 0xff
/* 802D0960 002CD8A0 41 81 00 14 */ bgt lbl_802D0974
/* 802D0964 002CD8A4 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 802D0968 002CD8A8 4B FF F3 81 */ bl getUsedSize__10JKRExpHeapCFUc
/* 802D096C 002CD8AC 90 7E 00 00 */ stw r3, 0(r30)
/* 802D0970 002CD8B0 48 00 00 14 */ b lbl_802D0984
lbl_802D0974:
/* 802D0974 002CD8B4 4B FF DE 11 */ bl getTotalFreeSize__7JKRHeapCFv
/* 802D0978 002CD8B8 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 802D097C 002CD8BC 7C 03 00 50 */ subf r0, r3, r0
/* 802D0980 002CD8C0 90 1E 00 00 */ stw r0, 0(r30)
lbl_802D0984:
/* 802D0984 002CD8C4 38 60 00 00 */ li r3, 0
/* 802D0988 002CD8C8 80 9D 00 80 */ lwz r4, 0x80(r29)
/* 802D098C 002CD8CC 48 00 00 30 */ b lbl_802D09BC
lbl_802D0990:
/* 802D0990 002CD8D0 28 1F 00 FF */ cmplwi r31, 0xff
/* 802D0994 002CD8D4 41 81 00 1C */ bgt lbl_802D09B0
/* 802D0998 002CD8D8 88 04 00 03 */ lbz r0, 3(r4)
/* 802D099C 002CD8DC 7C 00 F8 40 */ cmplw r0, r31
/* 802D09A0 002CD8E0 40 82 00 18 */ bne lbl_802D09B8
/* 802D09A4 002CD8E4 1C 04 00 03 */ mulli r0, r4, 3
/* 802D09A8 002CD8E8 7C 63 02 14 */ add r3, r3, r0
/* 802D09AC 002CD8EC 48 00 00 0C */ b lbl_802D09B8
lbl_802D09B0:
/* 802D09B0 002CD8F0 1C 04 00 03 */ mulli r0, r4, 3
/* 802D09B4 002CD8F4 7C 63 02 14 */ add r3, r3, r0
lbl_802D09B8:
/* 802D09B8 002CD8F8 80 84 00 0C */ lwz r4, 0xc(r4)
lbl_802D09BC:
/* 802D09BC 002CD8FC 28 04 00 00 */ cmplwi r4, 0
/* 802D09C0 002CD900 40 82 FF D0 */ bne lbl_802D0990
/* 802D09C4 002CD904 90 7E 00 04 */ stw r3, 4(r30)
/* 802D09C8 002CD908 39 61 00 20 */ addi r11, r1, 0x20
/* 802D09CC 002CD90C 48 09 18 5D */ bl _restgpr_29
/* 802D09D0 002CD910 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D09D4 002CD914 7C 08 03 A6 */ mtlr r0
/* 802D09D8 002CD918 38 21 00 20 */ addi r1, r1, 0x20
/* 802D09DC 002CD91C 4E 80 00 20 */ blr