0000: 23 69 6e 63 6c 75 64 65 20 22 61 73 6d 6d 36 38 #include "asmm68
0010: 6b 2e 68 22 0a 2e 74 65 78 74 0a 09 2e 65 76 65 k.h"..text...eve
0020: 6e 0a 2e 67 6c 6f 62 6c 20 43 28 5f 5f 62 75 69 n..globl C(__bui
0030: 6c 74 69 6e 5f 61 76 63 61 6c 6c 29 0a 09 44 45 ltin_avcall)..DE
0040: 43 4c 41 52 45 5f 46 55 4e 43 54 49 4f 4e 28 5f CLARE_FUNCTION(_
0050: 5f 62 75 69 6c 74 69 6e 5f 61 76 63 61 6c 6c 29 _builtin_avcall)
0060: 0a 43 28 5f 5f 62 75 69 6c 74 69 6e 5f 61 76 63 .C(__builtin_avc
0070: 61 6c 6c 3a 29 0a 09 6d 6f 76 65 6d 6c 20 23 30 all:)..moveml #0
0080: 78 33 30 33 30 2c 24 73 70 40 2d 0a 09 6d 6f 76 x3030,$sp@-..mov
0090: 65 6c 20 24 73 70 40 28 32 30 29 2c 24 61 32 0a el $sp@(20),$a2.
00a0: 09 6c 65 61 20 24 73 70 40 28 2d 31 30 32 34 29 .lea $sp@(-1024)
00b0: 2c 24 73 70 0a 09 6d 6f 76 65 71 20 23 2d 33 32 ,$sp..moveq #-32
00c0: 2c 24 64 30 0a 09 61 64 64 6c 20 24 61 32 40 28 ,$d0..addl $a2@(
00d0: 32 30 29 2c 24 64 30 0a 09 73 75 62 6c 20 24 61 20),$d0..subl $a
00e0: 32 2c 24 64 30 0a 09 61 73 72 6c 20 23 32 2c 24 2,$d0..asrl #2,$
00f0: 64 30 0a 09 6a 6c 65 20 4c 34 0a 09 6d 6f 76 65 d0..jle L4..move
0100: 6c 20 24 73 70 2c 24 61 33 0a 09 6c 65 61 20 24 l $sp,$a3..lea $
0110: 61 32 40 28 33 32 29 2c 24 61 30 0a 09 6d 6f 76 a2@(32),$a0..mov
0120: 65 6c 20 24 64 30 2c 24 61 31 0a 09 2e 65 76 65 el $d0,$a1...eve
0130: 6e 0a 4c 36 3a 0a 09 6d 6f 76 65 6c 20 24 61 30 n.L6:..movel $a0
0140: 40 2b 2c 24 61 33 40 2b 0a 09 73 75 62 71 6c 20 @+,$a3@+..subql
0150: 23 31 2c 24 61 31 0a 09 74 73 74 6c 20 24 61 31 #1,$a1..tstl $a1
0160: 0a 09 6a 6e 65 20 4c 36 0a 4c 34 3a 0a 09 6d 6f ..jne L6.L4:..mo
0170: 76 65 71 20 23 31 36 2c 24 64 30 0a 09 63 6d 70 veq #16,$d0..cmp
0180: 6c 20 24 61 32 40 28 31 32 29 2c 24 64 30 0a 09 l $a2@(12),$d0..
0190: 6a 6e 65 20 4c 38 0a 09 6d 6f 76 65 6c 20 24 61 jne L8..movel $a
01a0: 32 40 28 38 29 2c 24 61 31 0a 4c 38 3a 0a 09 6d 2@(8),$a1.L8:..m
01b0: 6f 76 65 6c 20 24 61 32 40 2c 24 61 30 0a 09 6a ovel $a2@,$a0..j
01c0: 62 73 72 20 24 61 30 40 0a 09 6d 6f 76 65 6c 20 bsr $a0@..movel
01d0: 24 64 30 2c 24 61 31 0a 09 6d 6f 76 65 6c 20 24 $d0,$a1..movel $
01e0: 64 31 2c 24 61 33 0a 09 6d 6f 76 65 6c 20 24 61 d1,$a3..movel $a
01f0: 32 40 28 31 32 29 2c 24 64 32 0a 09 6d 6f 76 65 2@(12),$d2..move
0200: 71 20 23 31 2c 24 64 31 0a 09 63 6d 70 6c 20 24 q #1,$d1..cmpl $
0210: 64 32 2c 24 64 31 0a 09 6a 65 71 20 4c 31 30 0a d2,$d1..jeq L10.
0220: 09 74 73 74 6c 20 24 64 32 0a 09 6a 65 71 20 4c .tstl $d2..jeq L
0230: 36 39 0a 09 6d 6f 76 65 71 20 23 32 2c 24 64 33 69..moveq #2,$d3
0240: 0a 09 63 6d 70 6c 20 24 64 32 2c 24 64 33 0a 09 ..cmpl $d2,$d3..
0250: 6a 65 71 20 4c 37 30 0a 09 6d 6f 76 65 71 20 23 jeq L70..moveq #
0260: 33 2c 24 64 33 0a 09 63 6d 70 6c 20 24 64 32 2c 3,$d3..cmpl $d2,
0270: 24 64 33 0a 09 6a 65 71 20 4c 37 30 0a 09 6d 6f $d3..jeq L70..mo
0280: 76 65 71 20 23 34 2c 24 64 33 0a 09 63 6d 70 6c veq #4,$d3..cmpl
0290: 20 24 64 32 2c 24 64 33 0a 09 6a 6e 65 20 4c 31 $d2,$d3..jne L1
02a0: 37 0a 4c 37 30 3a 0a 09 6d 6f 76 65 6c 20 24 61 7.L70:..movel $a
02b0: 32 40 28 38 29 2c 24 61 30 0a 09 6d 6f 76 65 77 2@(8),$a0..movew
02c0: 20 24 61 31 2c 24 64 30 0a 09 6d 6f 76 65 62 20 $a1,$d0..moveb
02d0: 24 64 30 2c 24 61 30 40 0a 09 6a 72 61 20 4c 31 $d0,$a0@..jra L1
02e0: 30 0a 09 2e 65 76 65 6e 0a 4c 31 37 3a 0a 09 6d 0...even.L17:..m
02f0: 6f 76 65 71 20 23 35 2c 24 64 33 0a 09 63 6d 70 oveq #5,$d3..cmp
0300: 6c 20 24 64 32 2c 24 64 33 0a 09 6a 65 71 20 4c l $d2,$d3..jeq L
0310: 37 31 0a 09 6d 6f 76 65 71 20 23 36 2c 24 64 33 71..moveq #6,$d3
0320: 0a 09 63 6d 70 6c 20 24 64 32 2c 24 64 33 0a 09 ..cmpl $d2,$d3..
0330: 6a 65 71 20 4c 37 31 0a 09 6d 6f 76 65 71 20 23 jeq L71..moveq #
0340: 37 2c 24 64 33 0a 09 63 6d 70 6c 20 24 64 32 2c 7,$d3..cmpl $d2,
0350: 24 64 33 0a 09 6a 65 71 20 4c 36 39 0a 09 6d 6f $d3..jeq L69..mo
0360: 76 65 71 20 23 38 2c 24 64 33 0a 09 63 6d 70 6c veq #8,$d3..cmpl
0370: 20 24 64 32 2c 24 64 33 0a 09 6a 65 71 20 4c 36 $d2,$d3..jeq L6
0380: 39 0a 09 6d 6f 76 65 71 20 23 39 2c 24 64 33 0a 9..moveq #9,$d3.
0390: 09 63 6d 70 6c 20 24 64 32 2c 24 64 33 0a 09 6a .cmpl $d2,$d3..j
03a0: 65 71 20 4c 36 39 0a 09 6d 6f 76 65 71 20 23 31 eq L69..moveq #1
03b0: 30 2c 24 64 33 0a 09 63 6d 70 6c 20 24 64 32 2c 0,$d3..cmpl $d2,
03c0: 24 64 33 0a 09 6a 65 71 20 4c 36 39 0a 09 6d 6f $d3..jeq L69..mo
03d0: 76 65 6c 20 24 61 32 40 28 31 32 29 2c 24 61 30 vel $a2@(12),$a0
03e0: 0a 09 6d 6f 76 65 71 20 23 2d 31 31 2c 24 64 32 ..moveq #-11,$d2
03f0: 0a 09 61 64 64 6c 20 24 61 30 2c 24 64 32 0a 09 ..addl $a0,$d2..
0400: 6d 6f 76 65 71 20 23 31 2c 24 64 33 0a 09 63 6d moveq #1,$d3..cm
0410: 70 6c 20 24 64 32 2c 24 64 33 0a 09 6a 63 63 20 pl $d2,$d3..jcc
0420: 4c 37 32 0a 09 6d 6f 76 65 71 20 23 31 33 2c 24 L72..moveq #13,$
0430: 64 32 0a 09 63 6d 70 6c 20 24 61 30 2c 24 64 32 d2..cmpl $a0,$d2
0440: 0a 09 6a 6e 65 20 4c 33 33 0a 09 6d 6f 76 65 6c ..jne L33..movel
0450: 20 24 61 32 40 28 34 29 2c 24 64 32 0a 09 62 74 $a2@(4),$d2..bt
0460: 73 74 20 23 36 2c 24 64 32 0a 09 6a 65 71 20 4c st #6,$d2..jeq L
0470: 33 34 0a 09 6d 6f 76 65 6c 20 24 61 32 40 28 38 34..movel $a2@(8
0480: 29 2c 24 61 30 0a 09 66 6d 6f 76 65 73 20 24 66 ),$a0..fmoves $f
0490: 70 30 2c 24 61 30 40 0a 09 6a 72 61 20 4c 31 30 p0,$a0@..jra L10
04a0: 0a 09 2e 65 76 65 6e 0a 4c 33 34 3a 0a 09 62 74 ...even.L34:..bt
04b0: 73 74 20 23 35 2c 24 64 32 0a 09 6a 65 71 20 4c st #5,$d2..jeq L
04c0: 33 36 0a 09 6d 6f 76 65 6c 20 24 61 32 40 28 38 36..movel $a2@(8
04d0: 29 2c 24 61 30 0a 09 6d 6f 76 65 6c 20 24 64 31 ),$a0..movel $d1
04e0: 2c 24 73 70 40 2d 0a 09 6d 6f 76 65 6c 20 24 64 ,$sp@-..movel $d
04f0: 30 2c 24 73 70 40 2d 0a 09 66 6d 6f 76 65 64 20 0,$sp@-..fmoved
0500: 24 73 70 40 2b 2c 24 66 70 30 0a 09 66 6d 6f 76 $sp@+,$fp0..fmov
0510: 65 73 20 24 66 70 30 2c 24 61 30 40 0a 09 6a 72 es $fp0,$a0@..jr
0520: 61 20 4c 31 30 0a 09 2e 65 76 65 6e 0a 4c 33 36 a L10...even.L36
0530: 3a 0a 09 6d 6f 76 65 6c 20 24 61 32 40 28 38 29 :..movel $a2@(8)
0540: 2c 24 61 30 0a 09 6d 6f 76 65 6c 20 24 64 30 2c ,$a0..movel $d0,
0550: 24 61 30 40 0a 09 6a 72 61 20 4c 31 30 0a 09 2e $a0@..jra L10...
0560: 65 76 65 6e 0a 4c 33 33 3a 0a 09 6d 6f 76 65 71 even.L33:..moveq
0570: 20 23 31 34 2c 24 64 32 0a 09 63 6d 70 6c 20 24 #14,$d2..cmpl $
0580: 61 30 2c 24 64 32 0a 09 6a 6e 65 20 4c 33 39 0a a0,$d2..jne L39.
0590: 09 62 74 73 74 20 23 36 2c 24 61 32 40 28 37 29 .btst #6,$a2@(7)
05a0: 0a 09 6a 65 71 20 4c 34 30 0a 09 6d 6f 76 65 6c ..jeq L40..movel
05b0: 20 24 61 32 40 28 38 29 2c 24 61 30 0a 09 66 6d $a2@(8),$a0..fm
05c0: 6f 76 65 64 20 24 66 70 30 2c 24 61 30 40 0a 09 oved $fp0,$a0@..
05d0: 6a 72 61 20 4c 31 30 0a 09 2e 65 76 65 6e 0a 4c jra L10...even.L
05e0: 34 30 3a 0a 09 6d 6f 76 65 6c 20 24 61 32 40 28 40:..movel $a2@(
05f0: 38 29 2c 24 61 30 0a 09 6d 6f 76 65 6c 20 24 64 8),$a0..movel $d
0600: 30 2c 24 61 30 40 0a 09 6d 6f 76 65 6c 20 24 64 0,$a0@..movel $d
0610: 31 2c 24 61 30 40 28 34 29 0a 09 6a 72 61 20 4c 1,$a0@(4)..jra L
0620: 31 30 0a 09 2e 65 76 65 6e 0a 4c 33 39 3a 0a 09 10...even.L39:..
0630: 6d 6f 76 65 71 20 23 31 35 2c 24 64 33 0a 09 63 moveq #15,$d3..c
0640: 6d 70 6c 20 24 61 30 2c 24 64 33 0a 09 6a 65 71 mpl $a0,$d3..jeq
0650: 20 4c 36 39 0a 09 6d 6f 76 65 71 20 23 31 36 2c L69..moveq #16,
0660: 24 64 30 0a 09 63 6d 70 6c 20 24 61 30 2c 24 64 $d0..cmpl $a0,$d
0670: 30 0a 09 6a 6e 65 20 4c 31 30 0a 09 6d 6f 76 65 0..jne L10..move
0680: 6c 20 24 61 32 40 28 34 29 2c 24 64 30 0a 09 62 l $a2@(4),$d0..b
0690: 74 73 74 20 23 39 2c 24 64 30 0a 09 6a 65 71 20 tst #9,$d0..jeq
06a0: 4c 34 36 0a 09 6d 6f 76 65 6c 20 24 61 32 40 28 L46..movel $a2@(
06b0: 31 36 29 2c 24 64 31 0a 09 6d 6f 76 65 71 20 23 16),$d1..moveq #
06c0: 31 2c 24 64 32 0a 09 63 6d 70 6c 20 24 64 31 2c 1,$d2..cmpl $d1,
06d0: 24 64 32 0a 09 6a 6e 65 20 4c 34 37 0a 09 6d 6f $d2..jne L47..mo
06e0: 76 65 6c 20 24 61 32 40 28 38 29 2c 24 61 30 0a vel $a2@(8),$a0.
06f0: 09 6d 6f 76 65 77 20 24 61 31 2c 24 64 33 0a 09 .movew $a1,$d3..
0700: 6d 6f 76 65 62 20 24 64 33 2c 24 61 30 40 0a 09 moveb $d3,$a0@..
0710: 6a 72 61 20 4c 31 30 0a 09 2e 65 76 65 6e 0a 4c jra L10...even.L
0720: 34 37 3a 0a 09 6d 6f 76 65 71 20 23 32 2c 24 64 47:..moveq #2,$d
0730: 32 0a 09 63 6d 70 6c 20 24 64 31 2c 24 64 32 0a 2..cmpl $d1,$d2.
0740: 09 6a 6e 65 20 4c 35 30 0a 4c 37 31 3a 0a 09 6d .jne L50.L71:..m
0750: 6f 76 65 6c 20 24 61 32 40 28 38 29 2c 24 61 30 ovel $a2@(8),$a0
0760: 0a 09 6d 6f 76 65 77 20 24 61 31 2c 24 61 30 40 ..movew $a1,$a0@
0770: 0a 09 6a 72 61 20 4c 31 30 0a 09 2e 65 76 65 6e ..jra L10...even
0780: 0a 4c 35 30 3a 0a 09 6d 6f 76 65 71 20 23 34 2c .L50:..moveq #4,
0790: 24 64 33 0a 09 63 6d 70 6c 20 24 64 31 2c 24 64 $d3..cmpl $d1,$d
07a0: 33 0a 09 6a 6e 65 20 4c 35 32 0a 4c 36 39 3a 0a 3..jne L52.L69:.
07b0: 09 6d 6f 76 65 6c 20 24 61 32 40 28 38 29 2c 24 .movel $a2@(8),$
07c0: 61 30 0a 09 6d 6f 76 65 6c 20 24 61 31 2c 24 61 a0..movel $a1,$a
07d0: 30 40 0a 09 6a 72 61 20 4c 31 30 0a 09 2e 65 76 0@..jra L10...ev
07e0: 65 6e 0a 4c 35 32 3a 0a 09 6d 6f 76 65 71 20 23 en.L52:..moveq #
07f0: 38 2c 24 64 32 0a 09 63 6d 70 6c 20 24 64 31 2c 8,$d2..cmpl $d1,
0800: 24 64 32 0a 09 6a 6e 65 20 4c 34 36 0a 4c 37 32 $d2..jne L46.L72
0810: 3a 0a 09 6d 6f 76 65 6c 20 24 61 32 40 28 38 29 :..movel $a2@(8)
0820: 2c 24 61 30 0a 09 6d 6f 76 65 6c 20 24 61 31 2c ,$a0..movel $a1,
0830: 24 61 30 40 0a 09 6d 6f 76 65 6c 20 24 61 32 40 $a0@..movel $a2@
0840: 28 38 29 2c 24 61 30 0a 09 6d 6f 76 65 6c 20 24 (8),$a0..movel $
0850: 61 33 2c 24 61 30 40 28 34 29 0a 09 6a 72 61 20 a3,$a0@(4)..jra
0860: 4c 31 30 0a 09 2e 65 76 65 6e 0a 4c 34 36 3a 0a L10...even.L46:.
0870: 09 62 74 73 74 20 23 30 2c 24 64 30 0a 09 6a 65 .btst #0,$d0..je
0880: 71 20 4c 31 30 0a 09 6d 6f 76 65 6c 20 24 61 32 q L10..movel $a2
0890: 40 28 31 36 29 2c 24 64 30 0a 09 6d 6f 76 65 71 @(16),$d0..moveq
08a0: 20 23 31 2c 24 64 33 0a 09 63 6d 70 6c 20 24 64 #1,$d3..cmpl $d
08b0: 30 2c 24 64 33 0a 09 6a 6e 65 20 4c 35 36 0a 09 0,$d3..jne L56..
08c0: 6d 6f 76 65 6c 20 24 61 32 40 28 38 29 2c 24 61 movel $a2@(8),$a
08d0: 30 0a 09 6d 6f 76 65 62 20 24 61 31 40 2c 24 61 0..moveb $a1@,$a
08e0: 30 40 0a 09 6a 72 61 20 4c 31 30 0a 09 2e 65 76 0@..jra L10...ev
08f0: 65 6e 0a 4c 35 36 3a 0a 09 6d 6f 76 65 71 20 23 en.L56:..moveq #
0900: 32 2c 24 64 31 0a 09 63 6d 70 6c 20 24 64 30 2c 2,$d1..cmpl $d0,
0910: 24 64 31 0a 09 6a 6e 65 20 4c 35 38 0a 09 6d 6f $d1..jne L58..mo
0920: 76 65 6c 20 24 61 32 40 28 38 29 2c 24 61 30 0a vel $a2@(8),$a0.
0930: 09 6d 6f 76 65 77 20 24 61 31 40 2c 24 61 30 40 .movew $a1@,$a0@
0940: 0a 09 6a 72 61 20 4c 31 30 0a 09 2e 65 76 65 6e ..jra L10...even
0950: 0a 4c 35 38 3a 0a 09 6d 6f 76 65 71 20 23 34 2c .L58:..moveq #4,
0960: 24 64 32 0a 09 63 6d 70 6c 20 24 64 30 2c 24 64 $d2..cmpl $d0,$d
0970: 32 0a 09 6a 6e 65 20 4c 36 30 0a 09 6d 6f 76 65 2..jne L60..move
0980: 6c 20 24 61 32 40 28 38 29 2c 24 61 30 0a 09 6d l $a2@(8),$a0..m
0990: 6f 76 65 6c 20 24 61 31 40 2c 24 61 30 40 0a 09 ovel $a1@,$a0@..
09a0: 6a 72 61 20 4c 31 30 0a 09 2e 65 76 65 6e 0a 4c jra L10...even.L
09b0: 36 30 3a 0a 09 6d 6f 76 65 71 20 23 38 2c 24 64 60:..moveq #8,$d
09c0: 33 0a 09 63 6d 70 6c 20 24 64 30 2c 24 64 33 0a 3..cmpl $d0,$d3.
09d0: 09 6a 6e 65 20 4c 36 32 0a 09 6d 6f 76 65 6c 20 .jne L62..movel
09e0: 24 61 32 40 28 38 29 2c 24 61 30 0a 09 6d 6f 76 $a2@(8),$a0..mov
09f0: 65 6c 20 24 61 31 40 2c 24 61 30 40 0a 09 6d 6f el $a1@,$a0@..mo
0a00: 76 65 6c 20 24 61 32 40 28 38 29 2c 24 61 30 0a vel $a2@(8),$a0.
0a10: 09 6d 6f 76 65 6c 20 24 61 31 40 28 34 29 2c 24 .movel $a1@(4),$
0a20: 61 30 40 28 34 29 0a 09 6a 72 61 20 4c 31 30 0a a0@(4)..jra L10.
0a30: 09 2e 65 76 65 6e 0a 4c 36 32 3a 0a 09 61 64 64 ..even.L62:..add
0a40: 71 6c 20 23 33 2c 24 64 30 0a 09 6c 73 72 6c 20 ql #3,$d0..lsrl
0a50: 23 32 2c 24 64 30 0a 09 73 75 62 71 6c 20 23 31 #2,$d0..subql #1
0a60: 2c 24 64 30 0a 09 6a 6d 69 20 4c 31 30 0a 09 6c ,$d0..jmi L10..l
0a70: 65 61 20 24 61 31 40 28 24 64 30 3a 6c 3a 34 29 ea $a1@($d0:l:4)
0a80: 2c 24 61 31 0a 09 2e 65 76 65 6e 0a 4c 36 36 3a ,$a1...even.L66:
0a90: 0a 09 6d 6f 76 65 6c 20 24 61 32 40 28 38 29 2c ..movel $a2@(8),
0aa0: 24 61 30 0a 09 6d 6f 76 65 6c 20 24 61 31 40 2c $a0..movel $a1@,
0ab0: 24 61 30 40 28 24 64 30 3a 6c 3a 34 29 0a 09 73 $a0@($d0:l:4)..s
0ac0: 75 62 71 6c 20 23 34 2c 24 61 31 0a 09 64 62 72 ubql #4,$a1..dbr
0ad0: 61 20 24 64 30 2c 4c 36 36 0a 09 63 6c 72 77 20 a $d0,L66..clrw
0ae0: 24 64 30 0a 09 73 75 62 71 6c 20 23 31 2c 24 64 $d0..subql #1,$d
0af0: 30 0a 09 6a 63 63 20 4c 36 36 0a 4c 31 30 3a 0a 0..jcc L66.L10:.
0b00: 09 6c 65 61 20 24 73 70 40 28 31 30 32 34 29 2c .lea $sp@(1024),
0b10: 24 73 70 0a 09 63 6c 72 6c 20 24 64 30 0a 09 6d $sp..clrl $d0..m
0b20: 6f 76 65 6d 6c 20 24 73 70 40 2b 2c 23 30 78 63 oveml $sp@+,#0xc
0b30: 30 63 0a 09 72 74 73 0a 0c..rts.