@ Generated by gcc 3.0.1 (DevKit-Advance) for ARM/elf
	.file	"test2.c"
	.code	16
	.section .rodata
	.align	2
.LC0:
	.ascii	"hello world!\000"
	.align	2
.LC2:
	.ascii	"value returned : \000"
	.text
	.align	2
	.global	main
	.thumb_func
	.type	main,function
main:
	push	{r7, lr}
	mov	r7, sp
	sub	sp, sp, #12
	bl	__gccmain
	bl	initForTest
	bl	getValue
	mov	r3, r0
	sub	r2, r7, #4
	str	r3, [r2]
	mov	r0, #1
	mov	r1, #1
	ldr	r2, .L5
	bl	msgPrint
	mov	r0, #1
	mov	r1, #3
	ldr	r2, .L5+4
	bl	msgPrint
	sub	r2, r7, #4
	ldr	r3, [r2]
	mov	r0, #18
	mov	r1, #3
	mov	r2, r3
	bl	msgPrintHexWord
.L2:
	b	.L2
.L6:
	.align	2
.L5:
	.word	.LC0
	.word	.LC2
.Lfe1:
	.size	main,.Lfe1-main
	.align	2
	.thumb_func
	.type	getValue,function
getValue:
	push	{r7, lr}
	mov	r7, sp
	
	ldr r0, .myValue
	b .exit_this_function
	.align 2
	.myValue:
	.word 0xFEEDFACE
	.align 2
	.exit_this_function:
	
	.code	16
	mov	sp, r7
	pop	{r7, pc}
.Lfe2:
	.size	getValue,.Lfe2-getValue
	.align	2
	.thumb_func
	.type	initForTest,function
initForTest:
	push	{r7, lr}
	mov	r7, sp
	sub	sp, sp, #124
	ldrh	r2, .L21
	mov	r3, #128
	lsl	r3, r3, #19
	strh	r2, [r3]
	ldrh	r2, .L21+4
	ldr	r3, .L21+8
	strh	r2, [r3]
	mov	r3, #192
	lsl	r3, r3, #19
	mov	r1, #8
	neg	r1, r1
	add	r1, r1, r7
	str	r3, [r1]
	ldr	r3, .L21+12
	sub	r2, r7, #4
	str	r3, [r2]
.L9:
	sub	r1, r7, #4
	ldr	r3, [r1]
	cmp	r3, #0
	bge	.L12
	b	.L10
.L22:
	.align	2
.L21:
	.word	256
	.word	4
	.word	67108872
	.word	32767
.L12:
	sub	r2, r7, #4
	ldr	r3, [r2]
	lsl	r2, r3, #1
	mov	r1, #8
	neg	r1, r1
	add	r1, r1, r7
	ldr	r3, [r1]
	add	r2, r2, r3
	ldrh	r3, .L23
	strh	r3, [r2]
	sub	r2, r7, #4
	ldr	r3, [r2]
	sub	r3, r3, #1
	sub	r1, r7, #4
	str	r3, [r1]
	b	.L9
.L10:
	ldr	r3, .L23+4
	mov	r2, #8
	neg	r2, r2
	add	r2, r2, r7
	str	r3, [r2]
	ldr	r3, .L23+8
	sub	r1, r7, #4
	str	r3, [r1]
.L13:
	sub	r2, r7, #4
	ldr	r3, [r2]
	cmp	r3, #0
	bge	.L16
	b	.L14
.L24:
	.align	2
.L23:
	.word	0
	.word	100680704
	.word	16383
.L16:
	sub	r1, r7, #4
	ldr	r3, [r1]
	lsl	r2, r3, #1
	mov	r1, #8
	neg	r1, r1
	add	r1, r1, r7
	ldr	r3, [r1]
	add	r1, r2, r3
	sub	r2, r7, #4
	ldr	r3, [r2]
	lsl	r2, r3, #1
	ldr	r3, .L25
	ldrh	r3, [r3, r2]
	strh	r3, [r1]
	sub	r1, r7, #4
	ldr	r3, [r1]
	sub	r3, r3, #1
	sub	r2, r7, #4
	str	r3, [r2]
	b	.L13
.L14:
	mov	r3, #160
	lsl	r3, r3, #19
	mov	r1, #8
	neg	r1, r1
	add	r1, r1, r7
	str	r3, [r1]
	mov	r3, #255
	sub	r2, r7, #4
	str	r3, [r2]
.L17:
	sub	r1, r7, #4
	ldr	r3, [r1]
	cmp	r3, #0
	bge	.L20
	b	.L18
.L20:
	sub	r2, r7, #4
	ldr	r3, [r2]
	lsl	r2, r3, #1
	mov	r1, #8
	neg	r1, r1
	add	r1, r1, r7
	ldr	r3, [r1]
	add	r1, r2, r3
	sub	r2, r7, #4
	ldr	r3, [r2]
	lsl	r2, r3, #1
	ldr	r3, .L25+4
	ldrh	r3, [r3, r2]
	strh	r3, [r1]
	sub	r1, r7, #4
	ldr	r3, [r1]
	sub	r3, r3, #1
	sub	r2, r7, #4
	str	r3, [r2]
	b	.L17
.L18:
	mov	sp, r7
	pop	{r7, pc}
.L26:
	.align	2
.L25:
	.word	l8fontData
	.word	l8fontPalette
.Lfe3:
	.size	initForTest,.Lfe3-initForTest
	.align	2
	.thumb_func
	.type	msgPrint,function
msgPrint:
	push	{r4, r7, lr}
	mov	r7, sp
	sub	sp, sp, #152
	sub	r3, r7, #4
	str	r0, [r3]
	mov	r4, #8
	neg	r4, r4
	add	r4, r4, r7
	str	r1, [r4]
	mov	r1, #12
	neg	r1, r1
	add	r1, r1, r7
	str	r2, [r1]
	mov	r2, #8
	neg	r2, r2
	add	r2, r2, r7
	ldr	r3, [r2]
	cmp	r3, #31
	bls	.L28
	b	.L27
.L28:
	sub	r4, r7, #4
	ldr	r3, [r4]
	cmp	r3, #32
	ble	.L29
	b	.L27
.L29:
	mov	r8, r8
.L30:
	sub	r1, r7, #4
	ldr	r3, [r1]
	cmp	r3, #0
	blt	.L32
	b	.L31
.L32:
	mov	r2, #12
	neg	r2, r2
	add	r2, r2, r7
	ldr	r3, [r2]
	ldrb	r3, [r3]
	cmp	r3, #0
	bne	.L33
	b	.L27
.L33:
	mov	r4, #12
	neg	r4, r4
	add	r4, r4, r7
	ldr	r3, [r4]
	add	r3, r3, #1
	mov	r1, #12
	neg	r1, r1
	add	r1, r1, r7
	str	r3, [r1]
	sub	r2, r7, #4
	ldr	r3, [r2]
	add	r3, r3, #1
	sub	r4, r7, #4
	str	r3, [r4]
	b	.L30
.L31:
	mov	r1, #8
	neg	r1, r1
	add	r1, r1, r7
	ldr	r3, [r1]
	lsl	r2, r3, #5
	sub	r4, r7, #4
	ldr	r3, [r4]
	add	r3, r2, r3
	mov	r1, #20
	neg	r1, r1
	add	r1, r1, r7
	str	r3, [r1]
	mov	r3, #20
	neg	r3, r3
	add	r3, r3, r7
	ldr	r2, [r3]
	sub	r4, r7, #4
	ldr	r3, [r4]
	sub	r3, r2, r3
	add	r3, r3, #32
	mov	r1, #24
	neg	r1, r1
	add	r1, r1, r7
	str	r3, [r1]
	mov	r3, #192
	lsl	r3, r3, #19
	mov	r2, #16
	neg	r2, r2
	add	r2, r2, r7
	str	r3, [r2]
.L34:
	mov	r4, #12
	neg	r4, r4
	add	r4, r4, r7
	ldr	r3, [r4]
	ldrb	r3, [r3]
	cmp	r3, #0
	bne	.L36
	b	.L35
.L36:
	mov	r1, #20
	neg	r1, r1
	add	r1, r1, r7
	ldr	r2, [r1]
	mov	r4, #24
	neg	r4, r4
	add	r4, r4, r7
	ldr	r3, [r4]
	cmp	r2, r3
	bne	.L37
	b	.L27
.L37:
	mov	r0, r7
	sub	r0, r0, #20
	ldr	r1, [r0]
	mov	ip, r1
	mov	r3, ip
	lsl	r2, r3, #1
	mov	r4, #16
	neg	r4, r4
	add	r4, r4, r7
	ldr	r3, [r4]
	add	r2, r2, r3
	mov	r4, #12
	neg	r4, r4
	add	r4, r4, r7
	ldr	r3, [r4]
	ldrb	r3, [r3]
	strh	r3, [r2]
	add	r1, r1, #1
	str	r1, [r0]
	mov	r1, #12
	neg	r1, r1
	add	r1, r1, r7
	ldr	r3, [r1]
	add	r3, r3, #1
	mov	r2, #12
	neg	r2, r2
	add	r2, r2, r7
	str	r3, [r2]
	b	.L34
.L35:
.L27:
	mov	sp, r7
	pop	{r4, r7, pc}
.Lfe4:
	.size	msgPrint,.Lfe4-msgPrint
	.section .rodata
	.align	2
.LC6:
	.ascii	"0123456789ABCDEF\000"
	.align	2
	.type	digit,object
	.size	digit,4
digit:
	.word	.LC6
	.text
	.align	2
	.thumb_func
	.type	msgPrintHexWord,function
msgPrintHexWord:
	push	{r7, lr}
	mov	r7, sp
	sub	sp, sp, #64
	sub	r3, r7, #4
	str	r0, [r3]
	mov	r3, #8
	neg	r3, r3
	add	r3, r3, r7
	str	r1, [r3]
	mov	r1, #12
	neg	r1, r1
	add	r1, r1, r7
	str	r2, [r1]
	mov	r2, #48
	ldr	r3, .L39
	strb	r2, [r3]
	mov	r2, #120
	ldr	r3, .L39
	strb	r2, [r3, #1]
	mov	r2, #12
	neg	r2, r2
	add	r2, r2, r7
	ldr	r3, [r2]
	lsr	r2, r3, #28
	mov	r3, #15
	and	r2, r2, r3
	ldr	r3, .L39+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldrb	r2, [r3]
	ldr	r3, .L39
	strb	r2, [r3, #2]
	mov	r1, #12
	neg	r1, r1
	add	r1, r1, r7
	ldr	r3, [r1]
	lsr	r2, r3, #24
	mov	r3, #15
	and	r2, r2, r3
	ldr	r3, .L39+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldrb	r2, [r3]
	ldr	r3, .L39
	strb	r2, [r3, #3]
	mov	r2, #12
	neg	r2, r2
	add	r2, r2, r7
	ldr	r3, [r2]
	lsr	r2, r3, #20
	mov	r3, #15
	and	r2, r2, r3
	ldr	r3, .L39+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldrb	r2, [r3]
	ldr	r3, .L39
	strb	r2, [r3, #4]
	mov	r1, #12
	neg	r1, r1
	add	r1, r1, r7
	ldr	r3, [r1]
	lsr	r2, r3, #16
	mov	r3, #15
	and	r2, r2, r3
	ldr	r3, .L39+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldrb	r2, [r3]
	ldr	r3, .L39
	strb	r2, [r3, #5]
	mov	r2, #12
	neg	r2, r2
	add	r2, r2, r7
	ldr	r3, [r2]
	lsr	r2, r3, #12
	mov	r3, #15
	and	r2, r2, r3
	ldr	r3, .L39+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldrb	r2, [r3]
	ldr	r3, .L39
	strb	r2, [r3, #6]
	mov	r1, #12
	neg	r1, r1
	add	r1, r1, r7
	ldr	r3, [r1]
	lsr	r2, r3, #8
	mov	r3, #15
	and	r2, r2, r3
	ldr	r3, .L39+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldrb	r2, [r3]
	ldr	r3, .L39
	strb	r2, [r3, #7]
	mov	r2, #12
	neg	r2, r2
	add	r2, r2, r7
	ldr	r3, [r2]
	lsr	r2, r3, #4
	mov	r3, #15
	and	r2, r2, r3
	ldr	r3, .L39+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldrb	r2, [r3]
	ldr	r3, .L39
	strb	r2, [r3, #8]
	mov	r3, #12
	neg	r3, r3
	add	r3, r3, r7
	ldr	r2, [r3]
	mov	r3, #15
	and	r2, r2, r3
	ldr	r3, .L39+4
	ldr	r3, [r3]
	add	r3, r2, r3
	ldrb	r2, [r3]
	ldr	r3, .L39
	strb	r2, [r3, #9]
	mov	r2, #0
	ldr	r3, .L39
	strb	r2, [r3, #10]
	sub	r1, r7, #4
	ldr	r3, [r1]
	mov	r1, #8
	neg	r1, r1
	add	r1, r1, r7
	ldr	r2, [r1]
	mov	r0, r3
	mov	r1, r2
	ldr	r2, .L39
	bl	msgPrint
	mov	sp, r7
	pop	{r7, pc}
.L40:
	.align	2
.L39:
	.word	buffer
	.word	digit
.Lfe5:
	.size	msgPrintHexWord,.Lfe5-msgPrintHexWord
	.bss
buffer:
	.space	11

