.file "920721-4.c" .text .align 2 .type do_switch.0, @function do_switch.0: link.w %a6,#-4 move.l %a0,-4(%a6) move.l 8(%a6),%d0 moveq.l #6,%d1 cmp.l %d0,%d1 jbcs .L17 .set .LI18,.+2 move.w .L18-.LI18.b(%pc,%d0.l*2),%d0 jmp %pc@(2,%d0:w) .align 2 .L18: .word .L17-.L18 .word .L11-.L18 .word .L12-.L18 .word .L13-.L18 .word .L14-.L18 .word .L15-.L18 .word .L16-.L18 .align 2 .L11: move.l #.L2,%d0 jbra .L9 .align 2 .L17: move.l #.L8,%d0 jbra .L9 .align 2 .L12: move.l #.L3,%d0 jbra .L9 .align 2 .L13: move.l #.L4,%d0 jbra .L9 .align 2 .L14: move.l #.L5,%d0 jbra .L9 .align 2 .L15: move.l #.L6,%d0 jbra .L9 .align 2 .L16: move.l #.L7,%d0 .align 2 .L9: move.l %d0,%a0 unlk %a6 rts .size do_switch.0, .-do_switch.0 .align 2 .globl try .type try, @function try: link.w %a6,#-32 move.l 8(%a6),-(%sp) move.l %a6,%a0 jbsr (do_switch.0) addq.l #4,%sp jmp (%a0) .align 2 .L2: moveq.l #1,%d0 jbra .L1 .align 2 .L3: moveq.l #2,%d0 jbra .L1 .align 2 .L4: moveq.l #3,%d0 jbra .L1 .align 2 .L5: moveq.l #4,%d0 jbra .L1 .align 2 .L6: moveq.l #5,%d0 jbra .L1 .align 2 .L7: moveq.l #6,%d0 jbra .L1 .align 2 .L8: moveq.l #-1,%d0 .align 2 .L1: unlk %a6 rts .size try, .-try .align 2 .globl main .type main, @function main: link.w %a6,#0 move.l %a2,-(%sp) move.l %d2,-(%sp) moveq.l #1,%d2 lea try,%a2 .align 2 .L26: move.l %d2,-(%sp) jbsr (%a2) addq.l #4,%sp cmp.l %d0,%d2 jbne .L29 addq.l #1,%d2 moveq.l #6,%d0 cmp.l %d2,%d0 jbge .L26 jbra .L30 .align 2 .L29: jbsr abort .align 2 .L30: clr.l -(%sp) jbsr exit nop .size main, .-main .ident "GCC: (GNU) 3.3.2"