.file "920501-3.c" .text .align 2 .globl execute .type execute, @function execute: link.w %a6,#0 move.l %d2,-(%sp) move.l 8(%a6),%d2 move.l 12(%a6),%d1 sub.l %a0,%a0 lea tab,%a1 .align 2 .L2: addq.l #1,%a0 moveq.l #4,%d0 cmp.l %a0,%d0 jbeq .L5 move.l %d1,%d0 sub.l %d2,%d0 asr.l #1,%d0 move.l %d0,(%a1)+ addq.l #2,%d1 jbra .L2 .align 2 .L5: clr.l (%a1) move.l (%sp)+,%d2 unlk %a6 rts .size execute, .-execute .align 2 .globl main .type main, @function main: link.w %a6,#-20 lea (-20,%a6),%a0 moveq.l #9,%d0 .align 2 .L11: clr.w (%a0)+ subq.l #1,%d0 jbpl .L11 lea (-20,%a6),%a0 move.l %a0,-(%sp) move.l %a0,-(%sp) jbsr execute addq.l #8,%sp tst.l tab jbne .L13 moveq.l #1,%d0 cmp.l tab+4,%d0 jbeq .L16 .L13: jbsr abort .align 2 .L16: moveq.l #2,%d0 cmp.l tab+8,%d0 jbne .L13 tst.l tab+12 jbne .L13 clr.l -(%sp) jbsr exit nop .size main, .-main .comm tab,36,2 .ident "GCC: (GNU) 3.3.2"