.text .globl main some_func: mov r4, r1 add r4, r4, r0 asr r4, r4, #1 cmp r0, #5 ble .L1 cmp r4, r0 bgt .L1 mov r4, r0 sub r4, r4, r1 b exit .L1: cmp r1, r4 bne .L2 mov r4, r0 eor r4, r4, r1 b exit .L2: mov r4, r0 lsl r4, r4, #2 exit: mov r0, r4 mov pc, lr main: push { fp, lr } ldr r0, =b ldr r0, [r0] ldr r1, =c ldr r1, [r1] bl some_func mov r1, r0 ldr r0, =prtString bl printf pop { fp, lr } bx lr .section .rodata prtString: .asciz "\nresult is %d\n" .section .data a: .word 33 b: .word 91 c: .word -56