.file "wwa.c" .section .rodata.str1.4,"aMS",%progbits,1 .align 2 .LC0: .ascii "Test program...\000" .align 2 .LC1: .ascii "Usage: phatpatch addr val\000" .align 2 .LC2: .ascii "/dev/mem\000" .align 2 .LC3: .ascii "Can not open /dev/mem\000" .align 2 .LC4: .ascii "Error MMAP /dev/mem\000" .text .align 2 .global main .type main, %function main: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, r8, lr} mov r4, r0 sub sp, sp, #8 ldr r0, .L11 mov r7, r1 bl puts cmp r4, #1 bgt .L2 ldr r0, .L11+4 bl puts mvn r0, #0 b .L9 .L2: ldr r0, .L11+8 ldr r1, .L11+12 bl open subs r8, r0, #0 bge .L4 ldr r0, .L11+16 .L10: bl perror mov r0, #1 .L9: bl exit .L4: mov r6, #0 mov r0, r6 mov r1, #131072 mov r2, #3 mov r3, #1 str r8, [sp, #0] str r6, [sp, #4] bl mmap cmn r0, #1 mov r5, r0 ldreq r0, .L11+20 beq .L10 mov r1, r6 mov r2, #16 ldr r0, [r7, #4] bl strtoul mov r2, #16 mov r4, r0 mov r1, r6 ldr r0, [r7, #8] bl strtoul and r3, r4, #32768 mov r4, r4, asl #17 mov r4, r4, lsr #17 mov r3, r3, lsr #15 orr r3, r3, r4, asl #1 mov r0, r0, asl #16 mov r3, r3, asl #1 mov r0, r0, lsr #16 strh r0, [r5, r3] @ movhi mov r1, #131072 mov r0, r5 bl munmap mov r0, r8 bl close mov r0, r6 add sp, sp, #8 ldmfd sp!, {r4, r5, r6, r7, r8, pc} .L12: .align 2 .L11: .word .LC0 .word .LC1 .word .LC2 .word 4098 .word .LC3 .word .LC4 .size main, .-main .ident "GCC: (GNU) 4.1.2"