.file "20010116-1.c" .text .align 2 .globl find .type find, @function find: link.w %a6,#0 move.l %a2,-(%sp) move.l %d2,-(%sp) move.l 12(%a6),%d0 sub.l 8(%a6),%d0 asr.l #2,%d0 move.l %d0,%a0 lea (%a0,%d0.l*4),%a0 move.l %a0,%d0 move.l %a0,%d1 lsl.l #4,%d1 add.l %d1,%d0 move.l %d0,%d1 lsl.l #8,%d1 add.l %d1,%d0 move.l %d0,%d1 swap %d1 clr.w %d1 move.l %d0,%d2 add.l %d1,%d2 neg.l %d2 asr.l #2,%d2 jble .L8 lea ok,%a2 .align 2 .L6: move.l %d2,-(%sp) jbsr (%a2) addq.l #4,%sp subq.l #1,%d2 tst.l %d2 jbgt .L6 .L8: jbsr abort nop .size find, .-find .align 2 .globl ok .type ok, @function ok: link.w %a6,#0 moveq.l #1,%d0 cmp.l 8(%a6),%d0 jbeq .L10 jbsr abort .align 2 .L10: clr.l -(%sp) jbsr exit nop .size ok, .-ok .align 2 .globl main .type main, @function main: link.w %a6,#-48 move.l %a6,-(%sp) pea -48(%a6) jbsr find unlk %a6 rts .size main, .-main .ident "GCC: (GNU) 3.3.2"