.file "20010409-1.c" .globl b .data .align 2 .type b, @object .size b, 4 b: .long 1 .text .align 2 .globl foo .type foo, @function foo: link.w %a6,#0 move.l 16(%a6),%a1 move.l 12(%a6),%a0 move.b 4(%a0),%d0 extb.l %d0 lea (%a1,%a1.l*2),%a0 lea (%a1,%a0.l*8),%a0 add.l %a0,%d0 move.l %d0,c unlk %a6 rts .size foo, .-foo .align 2 .globl bar .type bar, @function bar: link.w %a6,#0 tst.l 12(%a6) jbeq .L3 jbsr abort .align 2 .L3: clr.l -(%sp) jbsr exit nop .size bar, .-bar .section .rodata.str1.1,"aMS",@progbits,1 .LC0: .string "test" .text .align 2 .globl test .type test, @function test: link.w %a6,#0 movm.l #0x3030,-(%sp) move.l 8(%a6),%d3 move.l 12(%a6),%a3 pea 200.w pea .LC0 move.l d+4,%d0 move.l d,%a0 move.l (%a0,%d0.l*4),-(%sp) jbsr foo move.l d+4,%d2 move.l d,%a2 pea 201.w pea .LC0 move.l %d3,-(%sp) jbsr strlen move.l %d0,(%sp) tst.l b jbne .L5 moveq.l #1,%d0 swap %d0 .L6: move.l %d0,-(%sp) move.l %d3,-(%sp) jbsr bar move.l %a0,(%a2,%d2.l*4) move.l d,%a1 move.l d+4,%d0 move.l (%a1,%d0.l*4),%a0 addq.l #1,(%a0) lea (32,%sp),%sp tst.l %a3 jbeq .L4 move.l d+4,%d0 move.l (%a1,%d0.l*4),%a0 move.l (%a3),4(%a0) jbra .L4 .align 2 .L5: clr.l %d0 jbra .L6 .align 2 .L4: movm.l -16(%a6),#0xc0c unlk %a6 rts .size test, .-test .section .rodata.str1.1 .LC1: .string "" .text .align 2 .globl main .type main, @function main: link.w %a6,#0 clr.l d+4 move.l #a,d clr.l -(%sp) pea .LC1 jbsr test unlk %a6 rts .size main, .-main .comm a,4,2 .comm c,4,2 .comm d,8,2 .ident "GCC: (GNU) 3.3.2"