.file "20000717-5.c" .text .align 2 .globl bar .type bar, @function bar: link.w %a6,#0 moveq.l #1,%d0 cmp.l 20(%a6),%d0 jbne .L3 moveq.l #2,%d0 cmp.l 24(%a6),%d0 jbeq .L4 .L3: jbsr abort .align 2 .L4: moveq.l #3,%d0 cmp.l 28(%a6),%d0 jbne .L3 moveq.l #4,%d0 cmp.l 8(%a6),%d0 jbne .L3 moveq.l #5,%d0 cmp.l 12(%a6),%d0 jbne .L3 moveq.l #6,%d0 cmp.l 16(%a6),%d0 jbne .L3 unlk %a6 rts .size bar, .-bar .align 2 .globl foo .type foo, @function foo: link.w %a6,#0 lea (-12,%sp),%sp move.l %sp,%d0 pea 12.w pea 8(%a6) move.l %d0,-(%sp) jbsr memcpy addq.w #8,%sp move.l 28(%a6),(%sp) move.l 24(%a6),-(%sp) move.l 20(%a6),-(%sp) jbsr bar unlk %a6 rts .size foo, .-foo .section .rodata .align 2 .LC0: .long 1 .long 2 .long 3 .text .align 2 .globl main .type main, @function main: link.w %a6,#-12 move.l %a3,-(%sp) move.l %a2,-(%sp) lea (-12,%a6),%a3 pea 12.w pea .LC0 move.l %a3,-(%sp) lea memcpy,%a2 jbsr (%a2) pea 6.w pea 5.w pea 4.w lea (-12,%sp),%sp move.l %sp,%d0 pea 12.w move.l %a3,-(%sp) move.l %d0,-(%sp) jbsr (%a2) lea (12,%sp),%sp jbsr foo lea (32,%sp),%sp clr.l (%sp) jbsr exit nop .size main, .-main .ident "GCC: (GNU) 3.3.2"