.file "20001203-2.c" .text .align 2 .globl create_array_type .type create_array_type, @function create_array_type: link.w %a6,#-16 movm.l #0x3e30,-(%sp) move.l 8(%a6),%a3 tst.l %a3 jbeq .L8 .L2: pea -8(%a6) pea -16(%a6) jbsr get_discrete_bounds move.l 12(%a6),%a0 move.l (%a0),%d4 clr.l %d3 move.l -8(%a6),%d0 move.l -4(%a6),%d1 move.l -16(%a6),%d2 sub.l -12(%a6),%d1 subx.l %d2,%d0 clr.l %d2 addq.l #1,%d1 addx.l %d2,%d0 move.l %d4,%d6 mulu.l %d1,%d5:%d6 move.l %d6,(%a3) move.w #1,8(%a3) addq.l #8,%sp move.l 4(%a3),%a0 tst.l %a0 jbeq .L3 lea (4,%a0),%a2 move.l 16(%a2),%d2 move.l 12(%a2),%a0 move.l %d2,%d0 sub.l %a0,%d0 moveq.l #16,%d4 cmp.l %d0,%d4 jbgt .L9 .L5: lea (16,%a0),%a0 move.l %a0,12(%a2) move.l 8(%a2),%d3 cmp.l %a0,%d3 jbeq .L10 .L6: move.l 20(%a2),%d0 move.l 12(%a2),%d1 add.l %d0,%d1 not.l %d0 and.l %d0,%d1 move.l %d1,12(%a2) move.l 4(%a2),%d0 sub.l %d0,%d1 move.l %d2,%d4 sub.l %d0,%d4 cmp.l %d1,%d4 jbge .L7 move.l %d2,12(%a2) .L7: move.l 12(%a2),8(%a2) move.l %d3,%d0 jbra .L4 .align 2 .L10: moveq.l #1,%d0 move.l %d0,24(%a2) jbra .L6 .align 2 .L9: pea 16.w move.l %a2,-(%sp) jbsr _obstack_newchunk addq.l #8,%sp move.l 16(%a2),%d2 move.l 12(%a2),%a0 jbra .L5 .align 2 .L3: pea 16.w jbsr xmalloc addq.l #4,%sp move.l %a0,%d0 jbra .L4 .align 2 .L8: jbsr alloc_type move.l %a0,%a3 jbra .L2 .align 2 .L4: move.l %d0,10(%a3) move.l %a3,%a0 move.l %a0,%d0 movm.l -44(%a6),#0xc7c unlk %a6 rts .size create_array_type, .-create_array_type .align 2 .globl alloc_type .type alloc_type, @function alloc_type: link.w %a6,#0 jbsr abort nop .size alloc_type, .-alloc_type .align 2 .globl xmalloc .type xmalloc, @function xmalloc: link.w %a6,#0 sub.l %a0,%a0 move.l %a0,%d0 unlk %a6 rts .size xmalloc, .-xmalloc .align 2 .globl _obstack_newchunk .type _obstack_newchunk, @function _obstack_newchunk: link.w %a6,#0 jbsr abort nop .size _obstack_newchunk, .-_obstack_newchunk .align 2 .globl get_discrete_bounds .type get_discrete_bounds, @function get_discrete_bounds: link.w %a6,#0 move.l 8(%a6),%a0 clr.l (%a0) clr.l 4(%a0) move.l 12(%a6),%a0 clr.l (%a0) move.l #2,4(%a0) unlk %a6 rts .size get_discrete_bounds, .-get_discrete_bounds .align 2 .globl main .type main, @function main: link.w %a6,#-28 clr.l -10(%a6) clr.l -6(%a6) clr.w -2(%a6) clr.l -28(%a6) clr.l -24(%a6) clr.l -20(%a6) clr.w -16(%a6) moveq.l #4,%d0 move.l %d0,-14(%a6) pea -14(%a6) pea -28(%a6) jbsr create_array_type addq.l #8,%sp moveq.l #12,%d0 cmp.l -28(%a6),%d0 jbeq .L16 jbsr abort .align 2 .L16: clr.l -(%sp) jbsr exit nop .size main, .-main .ident "GCC: (GNU) 3.3.2"