#NO_APP .file "c.c" .section .rodata .LC0: .string "%lld\n" .text .align 2 .globl bar .type bar, @function bar: .LFB3: .cfi_startproc link.w %fp,#-8 .cfi_offset 14, -8 .cfi_def_cfa 14, 8 move.l 8(%fp),-8(%fp) move.l 12(%fp),-4(%fp) move.l -4(%fp),-(%sp) move.l -8(%fp),-(%sp) pea .LC0 jsr printf lea (12,%sp),%sp nop unlk %fp rts .cfi_endproc .LFE3: .size bar, .-bar .align 2 .globl foo .type foo, @function foo: .LFB4: .cfi_startproc link.w %fp,#-12 .cfi_offset 14, -8 .cfi_def_cfa 14, 8 move.l %d3,-(%sp) move.l %d2,-(%sp) .cfi_offset 3, -24 .cfi_offset 2, -28 move.l 8(%fp),-12(%fp) move.l 12(%fp),-8(%fp) clr.l -4(%fp) jra .L3 .L4: move.l -12(%fp),%d1 muls.l -8(%fp),%d1 move.l -12(%fp),%d0 muls.l -8(%fp),%d0 move.l %d1,%a0 add.l %d0,%a0 move.l -8(%fp),%d3 move.l -8(%fp),%d2 move.l %d3,%d1 mulu.l %d2,%d0:%d1 add.l %d0,%a0 move.l %a0,%d0 move.l %d0,-12(%fp) move.l %d1,-8(%fp) move.l %d0,-12(%fp) move.l %d1,-8(%fp) addq.l #1,-4(%fp) .L3: move.l -4(%fp),%d0 cmp.l 16(%fp),%d0 jlt .L4 move.l -8(%fp),-(%sp) move.l -12(%fp),-(%sp) jsr bar addq.l #8,%sp nop move.l -20(%fp),%d2 move.l -16(%fp),%d3 unlk %fp rts .cfi_endproc .LFE4: .size foo, .-foo .section .rodata .LC1: .string "m=%d\n" .text .align 2 .globl main .type main, @function main: .LFB5: .cfi_startproc link.w %fp,#-12 .cfi_offset 14, -8 .cfi_def_cfa 14, 8 moveq #1,%d0 move.l %d0,-4(%fp) jra .L6 .L7: move.l -4(%fp),-(%sp) pea .LC1 jsr printf addq.l #8,%sp move.l -4(%fp),-(%sp) clr.l -12(%fp) move.l #10,-8(%fp) move.l -8(%fp),-(%sp) move.l -12(%fp),-(%sp) jsr foo lea (12,%sp),%sp addq.l #1,-4(%fp) .L6: moveq #4,%d0 cmp.l -4(%fp),%d0 jge .L7 clr.l %d0 unlk %fp rts .cfi_endproc .LFE5: .size main, .-main .ident "GCC: (nb1 20160317) 5.3.0"