.file "920302-1.c" .data .align 2 .type tab.0, @object .size tab.0, 12 tab.0: .long .L2 .long .L3 .long .L4 .text .align 2 .globl execute .type execute, @function execute: link.w %a6,#0 move.l %a2,-(%sp) move.l 8(%a6),%a1 move.l #.L2,%d1 lea buf,%a2 tst.l %a1 jbeq .L16 .L2: move.b #120,(%a2)+ .L14: move.w (%a1)+,%a0 add.l #.L2,%a0 jmp (%a0) .align 2 .L3: move.b #121,(%a2)+ jbra .L14 .align 2 .L4: move.b #122,(%a2)+ clr.b (%a2) jbra .L15 .align 2 .L16: lea optab,%a0 lea tab.0+2,%a1 lea optab+4,%a2 .L10: move.w (%a1),%d0 addq.l #4,%a1 sub.w %d1,%d0 move.w %d0,(%a0)+ cmp.l %a0,%a2 jbge .L10 .align 2 .L15: move.l (%sp)+,%a2 unlk %a6 rts .size execute, .-execute .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "xyxyz" .text .align 2 .globl main .type main, @function main: link.w %a6,#0 move.l %a2,-(%sp) clr.l -(%sp) lea execute,%a2 jbsr (%a2) move.w optab+2,p move.w optab,p+2 move.w optab+2,p+4 move.w optab+4,p+6 pea p jbsr (%a2) pea 6.w pea .LC0 pea buf jbsr memcmp lea (20,%sp),%sp tst.l %d0 jbeq .L18 jbsr abort .align 2 .L18: clr.l -(%sp) jbsr exit nop .size main, .-main .comm optab,10,2 .comm buf,10,1 .comm p,10,2 .ident "GCC: (GNU) 3.3.2"