@ Generated by gcc 3.0.1 (DevKit-Advance) for ARM/elf .file "test1.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, .L8 mov sp, r7 pop {r7, pc} .L9: .align 2 .L8: .word -1059131379 .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, .L23 mov r3, #128 lsl r3, r3, #19 strh r2, [r3] ldrh r2, .L23+4 ldr r3, .L23+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, .L23+12 sub r2, r7, #4 str r3, [r2] .L11: sub r1, r7, #4 ldr r3, [r1] cmp r3, #0 bge .L14 b .L12 .L24: .align 2 .L23: .word 256 .word 4 .word 67108872 .word 32767 .L14: 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, .L25 strh r3, [r2] sub r2, r7, #4 ldr r3, [r2] sub r3, r3, #1 sub r1, r7, #4 str r3, [r1] b .L11 .L12: ldr r3, .L25+4 mov r2, #8 neg r2, r2 add r2, r2, r7 str r3, [r2] ldr r3, .L25+8 sub r1, r7, #4 str r3, [r1] .L15: sub r2, r7, #4 ldr r3, [r2] cmp r3, #0 bge .L18 b .L16 .L26: .align 2 .L25: .word 0 .word 100680704 .word 16383 .L18: 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, .L27 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 .L15 .L16: 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] .L19: sub r1, r7, #4 ldr r3, [r1] cmp r3, #0 bge .L22 b .L20 .L22: 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, .L27+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 .L19 .L20: mov sp, r7 pop {r7, pc} .L28: .align 2 .L27: .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 .L30 b .L29 .L30: sub r4, r7, #4 ldr r3, [r4] cmp r3, #32 ble .L31 b .L29 .L31: mov r8, r8 .L32: sub r1, r7, #4 ldr r3, [r1] cmp r3, #0 blt .L34 b .L33 .L34: mov r2, #12 neg r2, r2 add r2, r2, r7 ldr r3, [r2] ldrb r3, [r3] cmp r3, #0 bne .L35 b .L29 .L35: 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 .L32 .L33: 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] .L36: mov r4, #12 neg r4, r4 add r4, r4, r7 ldr r3, [r4] ldrb r3, [r3] cmp r3, #0 bne .L38 b .L37 .L38: 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 .L39 b .L29 .L39: 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 .L36 .L37: .L29: 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, .L41 strb r2, [r3] mov r2, #120 ldr r3, .L41 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, .L41+4 ldr r3, [r3] add r3, r2, r3 ldrb r2, [r3] ldr r3, .L41 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, .L41+4 ldr r3, [r3] add r3, r2, r3 ldrb r2, [r3] ldr r3, .L41 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, .L41+4 ldr r3, [r3] add r3, r2, r3 ldrb r2, [r3] ldr r3, .L41 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, .L41+4 ldr r3, [r3] add r3, r2, r3 ldrb r2, [r3] ldr r3, .L41 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, .L41+4 ldr r3, [r3] add r3, r2, r3 ldrb r2, [r3] ldr r3, .L41 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, .L41+4 ldr r3, [r3] add r3, r2, r3 ldrb r2, [r3] ldr r3, .L41 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, .L41+4 ldr r3, [r3] add r3, r2, r3 ldrb r2, [r3] ldr r3, .L41 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, .L41+4 ldr r3, [r3] add r3, r2, r3 ldrb r2, [r3] ldr r3, .L41 strb r2, [r3, #9] mov r2, #0 ldr r3, .L41 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, .L41 bl msgPrint mov sp, r7 pop {r7, pc} .L42: .align 2 .L41: .word buffer .word digit .Lfe5: .size msgPrintHexWord,.Lfe5-msgPrintHexWord .bss buffer: .space 11