savezelda/twilight/start.S
Segher Boessenkool e1ede7aa2c LEGO Indiana Jones
2009-09-23 17:40:48 +02:00

36 lines
808 B
ArmAsm

// Copyright 2008-2009 Segher Boessenkool <segher@kernel.crashing.org>
// This code is licensed to you under the terms of the GNU GPL, version 2;
// see file COPYING or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
#define XSTR(x) #x
#define ISTR(x) XSTR(x)
.section .start,"ax"
// Uninteresting stuff.
.incbin "head.b"
// "Link". This is displayed on the load menu, so make it nice.
0: .ascii ISTR(NAME)
.fill 17 - (. - 0b)
// "Epona". Hungry horse eats the stack.
.fill 0xe8,1,'3'
// The return address on the stack.
.long start
// Align things properly -- there's code after this.
.fill 7,1,'S'
.balign 4,0
start:
// Set up a stack frame.
lis 1,0x8080 ; li 0,0 ; stwu 0,-64(1)
// Pass the address we are called from, to determine region.
mflr 3
// Go for it!
b main