7 .set spaceToSave,linkageArea+params+alignment
8 .set spaceToSave8,spaceToSave+8
10 ; Mark from machine registers that are saved by C compiler
14 mflr r0 ; get return address
15 stw r0,8(r1) ; save return address
16 stwu r1,-spaceToSave
(r1) ; skip over caller save area
18 mr r3,r2 ; mark from r2. Well I
'm not really sure
19 ; that this is necessary or even the right
20 ; thing to do - at least it doesn't harm.
..
21 ; According to Apple
's docs it points to
22 ; the direct data area, whatever that is...
24 mr r3,r13 ; mark from r13-r31
63 lwz r0,spaceToSave8(r1) ; get return address back
64 mtlr r0 ; reset link register
65 addic r1,r1,spaceToSave ; restore stack pointer