.file "cleanup-4.c" .text .align 2 .type handler, @function handler: link.w %a6,#0 move.l 8(%a6),%a0 move.l (%a0),%d0 add.l %d0,counter unlk %a6 rts .size handler, .-handler .align 2 .type bar, @function bar: link.w %a6,#0 unlk %a6 rts .size bar, .-bar .align 2 .type doit, @function doit: link.w %a6,#-4 movm.l #0x3820,-(%sp) move.l 8(%a6),%d3 move.l 12(%a6),%d4 clr.l %d2 cmp.l %d2,%d3 jble .L5 lea handler,%a2 .align 2 .L9: move.l %d2,-4(%a6) cmp.l %d2,%d4 jbeq .L11 jbsr bar pea -4(%a6) jbsr (%a2) addq.l #4,%sp addq.l #1,%d2 cmp.l %d2,%d3 jbgt .L9 jbra .L5 .align 2 .L11: pea -4(%a6) jbsr (%a2) addq.l #4,%sp .align 2 .L5: movm.l -20(%a6),#0x41c unlk %a6 rts .size doit, .-doit .align 2 .globl main .type main, @function main: link.w %a6,#0 pea 6.w pea 10.w jbsr doit addq.l #8,%sp moveq.l #21,%d0 cmp.l counter,%d0 jbeq .L13 jbsr abort .align 2 .L13: clr.l %d0 unlk %a6 rts .size main, .-main .local counter .comm counter,4,2 .ident "GCC: (GNU) 3.3.2"