summaryrefslogtreecommitdiff
path: root/asm/Dolphin/os/OSMessages.s
blob: 1e7d35087ff2755e8d41e837b6930c808130858e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
.include "macros.inc"

.section .text

.global func_8036fac4
.type func_8036fac4, @function
func_8036fac4:
/* 8036FAC4 7C0802A6 */ mflr        r0
/* 8036FAC8 90010004 */ stw         r0, 4(r1)
/* 8036FACC 9421FFD8 */ stwu        r1, -0x28(r1)
/* 8036FAD0 93E10024 */ stw         r31, 0x24(r1)
/* 8036FAD4 3BE50000 */ addi        r31, r5, 0x0
/* 8036FAD8 93C10020 */ stw         r30, 0x20(r1)
/* 8036FADC 3BC40000 */ addi        r30, r4, 0x0
/* 8036FAE0 93A1001C */ stw         r29, 0x1c(r1)
/* 8036FAE4 3BA30000 */ addi        r29, r3, 0x0
/* 8036FAE8 48001C61 */ bl          func_80371748
/* 8036FAEC 387D0008 */ addi        r3, r29, 0x8
/* 8036FAF0 48001C59 */ bl          func_80371748
/* 8036FAF4 93DD0010 */ stw         r30, 0x10(r29)
/* 8036FAF8 38000000 */ li          r0, 0x0
/* 8036FAFC 93FD0014 */ stw         r31, 0x14(r29)
/* 8036FB00 901D0018 */ stw         r0, 0x18(r29)
/* 8036FB04 901D001C */ stw         r0, 0x1c(r29)
/* 8036FB08 8001002C */ lwz         r0, 0x2c(r1)
/* 8036FB0C 83E10024 */ lwz         r31, 0x24(r1)
/* 8036FB10 83C10020 */ lwz         r30, 0x20(r1)
/* 8036FB14 83A1001C */ lwz         r29, 0x1c(r1)
/* 8036FB18 38210028 */ addi        r1, r1, 0x28
/* 8036FB1C 7C0803A6 */ mtlr        r0
/* 8036FB20 4E800020 */ blr         
.size func_8036fac4, . - func_8036fac4


.global func_8036fb24
.type func_8036fb24, @function
func_8036fb24:
/* 8036FB24 7C0802A6 */ mflr        r0
/* 8036FB28 90010004 */ stw         r0, 4(r1)
/* 8036FB2C 9421FFD8 */ stwu        r1, -0x28(r1)
/* 8036FB30 93E10024 */ stw         r31, 0x24(r1)
/* 8036FB34 3BE50000 */ addi        r31, r5, 0x0
/* 8036FB38 93C10020 */ stw         r30, 0x20(r1)
/* 8036FB3C 93A1001C */ stw         r29, 0x1c(r1)
/* 8036FB40 3BA40000 */ addi        r29, r4, 0x0
/* 8036FB44 93810018 */ stw         r28, 0x18(r1)
/* 8036FB48 3B830000 */ addi        r28, r3, 0x0
/* 8036FB4C 4BFFEF89 */ bl          func_8036ead4
/* 8036FB50 3BC30000 */ addi        r30, r3, 0x0
/* 8036FB54 57FF07FE */ clrlwi      r31, r31, 0x1f
/* 8036FB58 48000024 */ b           lbl_8036fb7c
lbl_8036fb5c:
/* 8036FB5C 2C1F0000 */ cmpwi       r31, 0x0
/* 8036FB60 40820014 */ bne-        lbl_8036fb74
/* 8036FB64 7FC3F378 */ mr          r3, r30
/* 8036FB68 4BFFEF95 */ bl          func_8036eafc
/* 8036FB6C 38600000 */ li          r3, 0x0
/* 8036FB70 4800005C */ b           lbl_8036fbcc
lbl_8036fb74:
/* 8036FB74 7F83E378 */ mr          r3, r28
/* 8036FB78 48002995 */ bl          func_8037250c
lbl_8036fb7c:
/* 8036FB7C 80DC0014 */ lwz         r6, 0x14(r28)
/* 8036FB80 809C001C */ lwz         r4, 0x1c(r28)
/* 8036FB84 7C062000 */ cmpw        r6, r4
/* 8036FB88 4081FFD4 */ ble+        lbl_8036fb5c
/* 8036FB8C 801C0018 */ lwz         r0, 0x18(r28)
/* 8036FB90 387C0008 */ addi        r3, r28, 0x8
/* 8036FB94 80BC0010 */ lwz         r5, 0x10(r28)
/* 8036FB98 7C802214 */ add         r4, r0, r4
/* 8036FB9C 7C0433D6 */ divw        r0, r4, r6
/* 8036FBA0 7C0031D6 */ mullw       r0, r0, r6
/* 8036FBA4 7C002050 */ subf        r0, r0, r4
/* 8036FBA8 5400103A */ slwi        r0, r0, 2
/* 8036FBAC 7FA5012E */ stwx        r29, r5, r0
/* 8036FBB0 809C001C */ lwz         r4, 0x1c(r28)
/* 8036FBB4 38040001 */ addi        r0, r4, 0x1
/* 8036FBB8 901C001C */ stw         r0, 0x1c(r28)
/* 8036FBBC 48002A3D */ bl          func_803725f8
/* 8036FBC0 7FC3F378 */ mr          r3, r30
/* 8036FBC4 4BFFEF39 */ bl          func_8036eafc
/* 8036FBC8 38600001 */ li          r3, 0x1
lbl_8036fbcc:
/* 8036FBCC 8001002C */ lwz         r0, 0x2c(r1)
/* 8036FBD0 83E10024 */ lwz         r31, 0x24(r1)
/* 8036FBD4 83C10020 */ lwz         r30, 0x20(r1)
/* 8036FBD8 83A1001C */ lwz         r29, 0x1c(r1)
/* 8036FBDC 83810018 */ lwz         r28, 0x18(r1)
/* 8036FBE0 38210028 */ addi        r1, r1, 0x28
/* 8036FBE4 7C0803A6 */ mtlr        r0
/* 8036FBE8 4E800020 */ blr         
.size func_8036fb24, . - func_8036fb24


.global func_8036fbec
.type func_8036fbec, @function
func_8036fbec:
/* 8036FBEC 7C0802A6 */ mflr        r0
/* 8036FBF0 90010004 */ stw         r0, 4(r1)
/* 8036FBF4 9421FFD8 */ stwu        r1, -0x28(r1)
/* 8036FBF8 93E10024 */ stw         r31, 0x24(r1)
/* 8036FBFC 3BE30000 */ addi        r31, r3, 0x0
/* 8036FC00 93C10020 */ stw         r30, 0x20(r1)
/* 8036FC04 3BC50000 */ addi        r30, r5, 0x0
/* 8036FC08 93A1001C */ stw         r29, 0x1c(r1)
/* 8036FC0C 93810018 */ stw         r28, 0x18(r1)
/* 8036FC10 3B840000 */ addi        r28, r4, 0x0
/* 8036FC14 4BFFEEC1 */ bl          func_8036ead4
/* 8036FC18 3BA30000 */ addi        r29, r3, 0x0
/* 8036FC1C 57DE07FE */ clrlwi      r30, r30, 0x1f
/* 8036FC20 48000024 */ b           lbl_8036fc44
lbl_8036fc24:
/* 8036FC24 2C1E0000 */ cmpwi       r30, 0x0
/* 8036FC28 40820014 */ bne-        lbl_8036fc3c
/* 8036FC2C 7FA3EB78 */ mr          r3, r29
/* 8036FC30 4BFFEECD */ bl          func_8036eafc
/* 8036FC34 38600000 */ li          r3, 0x0
/* 8036FC38 48000070 */ b           lbl_8036fca8
lbl_8036fc3c:
/* 8036FC3C 387F0008 */ addi        r3, r31, 0x8
/* 8036FC40 480028CD */ bl          func_8037250c
lbl_8036fc44:
/* 8036FC44 801F001C */ lwz         r0, 0x1c(r31)
/* 8036FC48 2C000000 */ cmpwi       r0, 0x0
/* 8036FC4C 4182FFD8 */ beq+        lbl_8036fc24
/* 8036FC50 281C0000 */ cmplwi      r28, 0
/* 8036FC54 41820018 */ beq-        lbl_8036fc6c
/* 8036FC58 801F0018 */ lwz         r0, 0x18(r31)
/* 8036FC5C 807F0010 */ lwz         r3, 0x10(r31)
/* 8036FC60 5400103A */ slwi        r0, r0, 2
/* 8036FC64 7C03002E */ lwzx        r0, r3, r0
/* 8036FC68 901C0000 */ stw         r0, 0(r28)
lbl_8036fc6c:
/* 8036FC6C 80BF0018 */ lwz         r5, 0x18(r31)
/* 8036FC70 7FE3FB78 */ mr          r3, r31
/* 8036FC74 809F0014 */ lwz         r4, 0x14(r31)
/* 8036FC78 38A50001 */ addi        r5, r5, 0x1
/* 8036FC7C 7C0523D6 */ divw        r0, r5, r4
/* 8036FC80 7C0021D6 */ mullw       r0, r0, r4
/* 8036FC84 7C002850 */ subf        r0, r0, r5
/* 8036FC88 901F0018 */ stw         r0, 0x18(r31)
/* 8036FC8C 809F001C */ lwz         r4, 0x1c(r31)
/* 8036FC90 3804FFFF */ addi        r0, r4, -0x1
/* 8036FC94 901F001C */ stw         r0, 0x1c(r31)
/* 8036FC98 48002961 */ bl          func_803725f8
/* 8036FC9C 7FA3EB78 */ mr          r3, r29
/* 8036FCA0 4BFFEE5D */ bl          func_8036eafc
/* 8036FCA4 38600001 */ li          r3, 0x1
lbl_8036fca8:
/* 8036FCA8 8001002C */ lwz         r0, 0x2c(r1)
/* 8036FCAC 83E10024 */ lwz         r31, 0x24(r1)
/* 8036FCB0 83C10020 */ lwz         r30, 0x20(r1)
/* 8036FCB4 83A1001C */ lwz         r29, 0x1c(r1)
/* 8036FCB8 83810018 */ lwz         r28, 0x18(r1)
/* 8036FCBC 38210028 */ addi        r1, r1, 0x28
/* 8036FCC0 7C0803A6 */ mtlr        r0
/* 8036FCC4 4E800020 */ blr         
.size func_8036fbec, . - func_8036fbec