.file "ww.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" .align 2 .LC5: .ascii "%i\000" .align 2 .LC6: .ascii "%hi\000" .text .align 2 .global main .type main, %function main: @ args = 0, pretend = 0, frame = 8 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r6, r7, lr} mov r4, r0 sub sp, sp, #16 ldr r0, .L11 mov r6, 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 r7, r0, #0 bge .L4 ldr r0, .L11+16 .L10: bl perror mov r0, #1 .L9: bl exit .L4: mov r5, #0 mov r0, r5 mov r1, #131072 mov r2, #3 mov r3, #1 str r7, [sp, #0] str r5, [sp, #4] bl mmap cmn r0, #1 mov r4, r0 ldreq r0, .L11+20 beq .L10 add r2, sp, #8 ldr r1, .L11+24 ldr r0, [r6, #4] bl sscanf add r2, sp, #14 ldr r0, [r6, #8] ldr r1, .L11+28 bl sscanf ldr r3, [sp, #8] ldrh r2, [sp, #14] mov r3, r3, asl #1 strh r2, [r4, r3] @ movhi mov r1, #131072 mov r0, r4 bl munmap mov r0, r7 bl close mov r0, r5 add sp, sp, #16 ldmfd sp!, {r4, r5, r6, r7, pc} .L12: .align 2 .L11: .word .LC0 .word .LC1 .word .LC2 .word 4098 .word .LC3 .word .LC4 .word .LC5 .word .LC6 .size main, .-main .ident "GCC: (GNU) 4.1.2"