.file "bcopy.c" .text .align 2 .globl bcopy1 .type bcopy1, @function bcopy1: link.w %a6,#0 move.l %d2,-(%sp) move.l 16(%a6),%d0 move.l %d0,%d1 jblt .L10 .L2: move.l %d1,%d0 asr.l #3,%d0 jble .L9 move.l 12(%a6),%a1 move.l 8(%a6),%a0 .align 2 .L7: move.l (%a0)+,%d1 move.l (%a0)+,%d2 move.l %d1,(%a1)+ move.l %d2,(%a1)+ subq.l #1,%d0 jbne .L7 jbra .L9 .align 2 .L10: addq.l #7,%d1 jbra .L2 .align 2 .L9: move.l (%sp)+,%d2 unlk %a6 rts .size bcopy1, .-bcopy1 .align 2 .globl bcopy2 .type bcopy2, @function bcopy2: link.w %a6,#0 move.l 16(%a6),%d0 move.l %d0,%d1 jblt .L20 .L12: move.l %d1,%d0 asr.l #2,%d0 jble .L19 move.l 12(%a6),%a1 move.l 8(%a6),%a0 .align 2 .L17: move.l (%a0)+,(%a1)+ subq.l #1,%d0 jbne .L17 jbra .L19 .align 2 .L20: addq.l #3,%d1 jbra .L12 .align 2 .L19: unlk %a6 rts .size bcopy2, .-bcopy2 .align 2 .globl bcopy3 .type bcopy3, @function bcopy3: link.w %a6,#0 movm.l #0x3800,-(%sp) move.l 8(%a6),%a0 move.l 16(%a6),%d0 move.l 12(%a6),%a1 sub.l %a0,%a1 move.l %d0,%d1 jblt .L30 .L22: move.l %d1,%d0 asr.l #4,%d0 move.l (%a0)+,%d3 move.l (%a0)+,%d4 move.l (%a0)+,%d1 move.l (%a0)+,%d2 tst.l %d0 jble .L29 .align 2 .L27: move.l %d3,(%a1,%a0.l) move.l %d4,4(%a1,%a0.l) move.l (%a0)+,%d3 move.l (%a0)+,%d4 move.l %d1,(%a1,%a0.l) move.l %d2,4(%a1,%a0.l) move.l (%a0)+,%d1 move.l (%a0)+,%d2 subq.l #1,%d0 jbne .L27 jbra .L29 .align 2 .L30: moveq.l #15,%d1 add.l %d0,%d1 jbra .L22 .align 2 .L29: movm.l (%sp)+,#0x1c unlk %a6 rts .size bcopy3, .-bcopy3 .align 2 .globl main .type main, @function main: link.l %a6,#-32768 movm.l #0x3820,-(%sp) move.l %a6,%d4 add.l #-32768,%d4 move.l %a6,%d3 add.l #-16384,%d3 lea bcopy,%a2 move.l #4094,%d2 .align 2 .L36: pea 16384.w move.l %d4,-(%sp) move.l %d3,-(%sp) jbsr (%a2) lea (12,%sp),%sp subq.l #1,%d2 jbpl .L36 move.l #-32768,%a1 movm.l -16(%a6,%a1.l),#0x41c unlk %a6 rts .size main, .-main .ident "GCC: (GNU) 3.3.2"