Artifact c01ed85611b2d7c8b15f6f974dd0bdf6da738127:


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.