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 76 61 63 n..globl C(__vac
0030: 61 6c 6c 29 0a 09 44 45 43 4c 41 52 45 5f 46 55 all)..DECLARE_FU
0040: 4e 43 54 49 4f 4e 28 5f 5f 76 61 63 61 6c 6c 29 NCTION(__vacall)
0050: 0a 43 28 5f 5f 76 61 63 61 6c 6c 3a 29 0a 09 6c .C(__vacall:)..l
0060: 69 6e 6b 20 24 61 36 2c 23 2d 33 32 0a 09 6d 6f ink $a6,#-32..mo
0070: 76 65 6d 6c 20 23 30 78 33 30 32 30 2c 24 73 70 veml #0x3020,$sp
0080: 40 2d 0a 09 63 6c 72 6c 20 24 61 36 40 28 2d 33 @-..clrl $a6@(-3
0090: 32 29 0a 09 6c 65 61 20 24 61 36 40 28 38 29 2c 2)..lea $a6@(8),
00a0: 24 61 32 0a 09 6d 6f 76 65 6c 20 24 61 32 2c 24 $a2..movel $a2,$
00b0: 61 36 40 28 2d 32 38 29 0a 09 63 6c 72 6c 20 24 a6@(-28)..clrl $
00c0: 61 36 40 28 2d 32 34 29 0a 09 63 6c 72 6c 20 24 a6@(-24)..clrl $
00d0: 61 36 40 28 2d 32 30 29 0a 09 6d 6f 76 65 6c 20 a6@(-20)..movel
00e0: 24 61 31 2c 24 61 36 40 28 2d 34 29 0a 09 70 65 $a1,$a6@(-4)..pe
00f0: 61 20 24 61 36 40 28 2d 33 32 29 0a 09 6d 6f 76 a $a6@(-32)..mov
0100: 65 6c 20 43 28 76 61 63 61 6c 6c 5f 66 75 6e 63 el C(vacall_func
0110: 74 69 6f 6e 29 2c 24 61 32 0a 09 6a 62 73 72 20 tion),$a2..jbsr
0120: 24 61 32 40 0a 09 61 64 64 71 6c 20 23 34 2c 24 $a2@..addql #4,$
0130: 73 70 0a 09 6d 6f 76 65 6c 20 24 61 36 40 28 2d sp..movel $a6@(-
0140: 32 30 29 2c 24 64 32 0a 09 6a 65 71 20 4c 34 0a 20),$d2..jeq L4.
0150: 09 6d 6f 76 65 71 20 23 31 2c 24 64 33 0a 09 63 .moveq #1,$d3..c
0160: 6d 70 6c 20 24 64 32 2c 24 64 33 0a 09 6a 65 71 mpl $d2,$d3..jeq
0170: 20 4c 34 39 0a 09 6d 6f 76 65 71 20 23 32 2c 24 L49..moveq #2,$
0180: 64 33 0a 09 63 6d 70 6c 20 24 64 32 2c 24 64 33 d3..cmpl $d2,$d3
0190: 0a 09 6a 6e 65 20 4c 37 0a 4c 34 39 3a 0a 09 6d ..jne L7.L49:..m
01a0: 6f 76 65 62 20 24 61 36 40 28 2d 31 32 29 2c 24 oveb $a6@(-12),$
01b0: 64 30 0a 09 65 78 74 62 6c 20 24 64 30 0a 09 6a d0..extbl $d0..j
01c0: 72 61 20 4c 34 0a 09 2e 65 76 65 6e 0a 4c 37 3a ra L4...even.L7:
01d0: 0a 09 6d 6f 76 65 71 20 23 33 2c 24 64 33 0a 09 ..moveq #3,$d3..
01e0: 63 6d 70 6c 20 24 64 32 2c 24 64 33 0a 09 6a 6e cmpl $d2,$d3..jn
01f0: 65 20 4c 39 0a 09 63 6c 72 6c 20 24 64 30 0a 09 e L9..clrl $d0..
0200: 6d 6f 76 65 62 20 24 61 36 40 28 2d 31 32 29 2c moveb $a6@(-12),
0210: 24 64 30 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 76 $d0..jra L4...ev
0220: 65 6e 0a 4c 39 3a 0a 09 6d 6f 76 65 71 20 23 34 en.L9:..moveq #4
0230: 2c 24 64 33 0a 09 63 6d 70 6c 20 24 64 32 2c 24 ,$d3..cmpl $d2,$
0240: 64 33 0a 09 6a 6e 65 20 4c 31 31 0a 09 6d 6f 76 d3..jne L11..mov
0250: 65 77 20 24 61 36 40 28 2d 31 32 29 2c 24 64 30 ew $a6@(-12),$d0
0260: 0a 09 65 78 74 6c 20 24 64 30 0a 09 6a 72 61 20 ..extl $d0..jra
0270: 4c 34 0a 09 2e 65 76 65 6e 0a 4c 31 31 3a 0a 09 L4...even.L11:..
0280: 6d 6f 76 65 71 20 23 35 2c 24 64 33 0a 09 63 6d moveq #5,$d3..cm
0290: 70 6c 20 24 64 32 2c 24 64 33 0a 09 6a 6e 65 20 pl $d2,$d3..jne
02a0: 4c 31 33 0a 09 63 6c 72 6c 20 24 64 30 0a 09 6d L13..clrl $d0..m
02b0: 6f 76 65 77 20 24 61 36 40 28 2d 31 32 29 2c 24 ovew $a6@(-12),$
02c0: 64 30 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 76 65 d0..jra L4...eve
02d0: 6e 0a 4c 31 33 3a 0a 09 6d 6f 76 65 71 20 23 36 n.L13:..moveq #6
02e0: 2c 24 64 33 0a 09 63 6d 70 6c 20 24 64 32 2c 24 ,$d3..cmpl $d2,$
02f0: 64 33 0a 09 6a 65 71 20 4c 35 30 0a 09 6d 6f 76 d3..jeq L50..mov
0300: 65 71 20 23 37 2c 24 64 33 0a 09 63 6d 70 6c 20 eq #7,$d3..cmpl
0310: 24 64 32 2c 24 64 33 0a 09 6a 65 71 20 4c 35 30 $d2,$d3..jeq L50
0320: 0a 09 6d 6f 76 65 71 20 23 38 2c 24 64 33 0a 09 ..moveq #8,$d3..
0330: 63 6d 70 6c 20 24 64 32 2c 24 64 33 0a 09 6a 65 cmpl $d2,$d3..je
0340: 71 20 4c 35 30 0a 09 6d 6f 76 65 71 20 23 39 2c q L50..moveq #9,
0350: 24 64 33 0a 09 63 6d 70 6c 20 24 64 32 2c 24 64 $d3..cmpl $d2,$d
0360: 33 0a 09 6a 6e 65 20 4c 32 31 0a 4c 35 30 3a 0a 3..jne L21.L50:.
0370: 09 6d 6f 76 65 6c 20 24 61 36 40 28 2d 31 32 29 .movel $a6@(-12)
0380: 2c 24 64 30 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 ,$d0..jra L4...e
0390: 76 65 6e 0a 4c 32 31 3a 0a 09 6d 6f 76 65 71 20 ven.L21:..moveq
03a0: 23 2d 31 30 2c 24 64 33 0a 09 61 64 64 6c 20 24 #-10,$d3..addl $
03b0: 64 33 2c 24 64 32 0a 09 6d 6f 76 65 71 20 23 31 d3,$d2..moveq #1
03c0: 2c 24 64 33 0a 09 63 6d 70 6c 20 24 64 32 2c 24 ,$d3..cmpl $d2,$
03d0: 64 33 0a 09 6a 63 73 20 4c 32 33 0a 09 6d 6f 76 d3..jcs L23..mov
03e0: 65 6c 20 24 61 36 40 28 2d 31 32 29 2c 24 64 30 el $a6@(-12),$d0
03f0: 0a 09 6d 6f 76 65 6c 20 24 61 36 40 28 2d 38 29 ..movel $a6@(-8)
0400: 2c 24 64 31 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 ,$d1..jra L4...e
0410: 76 65 6e 0a 4c 32 33 3a 0a 09 6d 6f 76 65 6c 20 ven.L23:..movel
0420: 24 61 36 40 28 2d 32 30 29 2c 24 64 32 0a 09 6d $a6@(-20),$d2..m
0430: 6f 76 65 71 20 23 31 32 2c 24 64 33 0a 09 63 6d oveq #12,$d3..cm
0440: 70 6c 20 24 64 32 2c 24 64 33 0a 09 6a 6e 65 20 pl $d2,$d3..jne
0450: 4c 32 35 0a 09 6d 6f 76 65 6c 20 24 61 36 40 28 L25..movel $a6@(
0460: 2d 33 32 29 2c 24 64 32 0a 09 62 74 73 74 20 23 -32),$d2..btst #
0470: 36 2c 24 64 32 0a 09 6a 65 71 20 4c 32 36 0a 09 6,$d2..jeq L26..
0480: 66 6d 6f 76 65 73 20 24 61 36 40 28 2d 31 32 29 fmoves $a6@(-12)
0490: 2c 24 66 70 30 0a 09 6a 72 61 20 4c 34 0a 09 2e ,$fp0..jra L4...
04a0: 65 76 65 6e 0a 4c 32 36 3a 0a 09 62 74 73 74 20 even.L26:..btst
04b0: 23 35 2c 24 64 32 0a 09 6a 65 71 20 4c 32 38 0a #5,$d2..jeq L28.
04c0: 09 66 6d 6f 76 65 73 20 24 61 36 40 28 2d 31 32 .fmoves $a6@(-12
04d0: 29 2c 24 66 70 31 0a 09 66 6d 6f 76 65 64 20 24 ),$fp1..fmoved $
04e0: 66 70 31 2c 24 73 70 40 2d 0a 09 6d 6f 76 65 6c fp1,$sp@-..movel
04f0: 20 24 73 70 40 2b 2c 24 64 30 0a 09 6d 6f 76 65 $sp@+,$d0..move
0500: 6c 20 24 73 70 40 2b 2c 24 64 31 0a 09 6a 72 61 l $sp@+,$d1..jra
0510: 20 4c 34 0a 09 2e 65 76 65 6e 0a 4c 32 38 3a 0a L4...even.L28:.
0520: 09 6d 6f 76 65 6c 20 24 61 36 40 28 2d 31 32 29 .movel $a6@(-12)
0530: 2c 24 64 30 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 ,$d0..jra L4...e
0540: 76 65 6e 0a 4c 32 35 3a 0a 09 6d 6f 76 65 71 20 ven.L25:..moveq
0550: 23 31 33 2c 24 64 33 0a 09 63 6d 70 6c 20 24 64 #13,$d3..cmpl $d
0560: 32 2c 24 64 33 0a 09 6a 6e 65 20 4c 33 31 0a 09 2,$d3..jne L31..
0570: 62 74 73 74 20 23 36 2c 24 61 36 40 28 2d 32 39 btst #6,$a6@(-29
0580: 29 0a 09 6a 65 71 20 4c 33 32 0a 09 66 6d 6f 76 )..jeq L32..fmov
0590: 65 64 20 24 61 36 40 28 2d 31 32 29 2c 24 66 70 ed $a6@(-12),$fp
05a0: 30 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 76 65 6e 0..jra L4...even
05b0: 0a 4c 33 32 3a 0a 09 6d 6f 76 65 6c 20 24 61 36 .L32:..movel $a6
05c0: 40 28 2d 31 32 29 2c 24 64 30 0a 09 6d 6f 76 65 @(-12),$d0..move
05d0: 6c 20 24 61 36 40 28 2d 38 29 2c 24 64 31 0a 09 l $a6@(-8),$d1..
05e0: 6a 72 61 20 4c 34 0a 09 2e 65 76 65 6e 0a 4c 33 jra L4...even.L3
05f0: 31 3a 0a 09 6d 6f 76 65 71 20 23 31 34 2c 24 64 1:..moveq #14,$d
0600: 33 0a 09 63 6d 70 6c 20 24 64 32 2c 24 64 33 0a 3..cmpl $d2,$d3.
0610: 09 6a 6e 65 20 4c 33 35 0a 09 6d 6f 76 65 6c 20 .jne L35..movel
0620: 24 61 36 40 28 2d 31 32 29 2c 24 64 30 0a 09 6a $a6@(-12),$d0..j
0630: 72 61 20 4c 35 31 0a 09 2e 65 76 65 6e 0a 4c 33 ra L51...even.L3
0640: 35 3a 0a 09 6d 6f 76 65 71 20 23 31 35 2c 24 64 5:..moveq #15,$d
0650: 33 0a 09 63 6d 70 6c 20 24 64 32 2c 24 64 33 0a 3..cmpl $d2,$d3.
0660: 09 6a 6e 65 20 4c 34 0a 09 6d 6f 76 65 6c 20 24 .jne L4..movel $
0670: 61 36 40 28 2d 33 32 29 2c 24 64 32 0a 09 62 74 a6@(-32),$d2..bt
0680: 73 74 20 23 31 30 2c 24 64 32 0a 09 6a 65 71 20 st #10,$d2..jeq
0690: 4c 33 38 0a 09 6d 6f 76 65 6c 20 24 61 36 40 28 L38..movel $a6@(
06a0: 2d 31 36 29 2c 24 61 32 0a 09 6d 6f 76 65 71 20 -16),$a2..moveq
06b0: 23 31 2c 24 64 33 0a 09 63 6d 70 6c 20 24 61 32 #1,$d3..cmpl $a2
06c0: 2c 24 64 33 0a 09 6a 6e 65 20 4c 33 39 0a 09 6d ,$d3..jne L39..m
06d0: 6f 76 65 6c 20 24 61 36 40 28 2d 32 34 29 2c 24 ovel $a6@(-24),$
06e0: 61 32 0a 09 63 6c 72 6c 20 24 64 30 0a 09 6d 6f a2..clrl $d0..mo
06f0: 76 65 62 20 24 61 32 40 2c 24 64 30 0a 09 6a 72 veb $a2@,$d0..jr
0700: 61 20 4c 34 0a 09 2e 65 76 65 6e 0a 4c 33 39 3a a L4...even.L39:
0710: 0a 09 6d 6f 76 65 71 20 23 32 2c 24 64 33 0a 09 ..moveq #2,$d3..
0720: 63 6d 70 6c 20 24 61 32 2c 24 64 33 0a 09 6a 6e cmpl $a2,$d3..jn
0730: 65 20 4c 34 32 0a 09 6d 6f 76 65 6c 20 24 61 36 e L42..movel $a6
0740: 40 28 2d 32 34 29 2c 24 61 32 0a 09 63 6c 72 6c @(-24),$a2..clrl
0750: 20 24 64 30 0a 09 6d 6f 76 65 77 20 24 61 32 40 $d0..movew $a2@
0760: 2c 24 64 30 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 ,$d0..jra L4...e
0770: 76 65 6e 0a 4c 34 32 3a 0a 09 6d 6f 76 65 71 20 ven.L42:..moveq
0780: 23 34 2c 24 64 33 0a 09 63 6d 70 6c 20 24 61 32 #4,$d3..cmpl $a2
0790: 2c 24 64 33 0a 09 6a 6e 65 20 4c 34 34 0a 09 6d ,$d3..jne L44..m
07a0: 6f 76 65 6c 20 24 61 36 40 28 2d 32 34 29 2c 24 ovel $a6@(-24),$
07b0: 61 32 0a 09 6d 6f 76 65 6c 20 24 61 32 40 2c 24 a2..movel $a2@,$
07c0: 64 30 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 76 65 d0..jra L4...eve
07d0: 6e 0a 4c 34 34 3a 0a 09 6d 6f 76 65 71 20 23 38 n.L44:..moveq #8
07e0: 2c 24 64 33 0a 09 63 6d 70 6c 20 24 61 32 2c 24 ,$d3..cmpl $a2,$
07f0: 64 33 0a 09 6a 6e 65 20 4c 33 38 0a 09 6d 6f 76 d3..jne L38..mov
0800: 65 6c 20 24 61 36 40 28 2d 32 34 29 2c 24 61 32 el $a6@(-24),$a2
0810: 0a 09 6d 6f 76 65 6c 20 24 61 32 40 2c 24 64 30 ..movel $a2@,$d0
0820: 0a 09 6d 6f 76 65 6c 20 24 61 32 40 28 34 29 2c ..movel $a2@(4),
0830: 24 64 31 0a 09 6a 72 61 20 4c 34 0a 09 2e 65 76 $d1..jra L4...ev
0840: 65 6e 0a 4c 33 38 3a 0a 09 62 74 73 74 20 23 30 en.L38:..btst #0
0850: 2c 24 64 32 0a 09 6a 65 71 20 4c 34 0a 09 6d 6f ,$d2..jeq L4..mo
0860: 76 65 6c 20 24 61 36 40 28 2d 32 34 29 2c 24 64 vel $a6@(-24),$d
0870: 30 0a 4c 35 31 3a 0a 09 6d 6f 76 65 6c 20 24 64 0.L51:..movel $d
0880: 30 2c 24 61 30 0a 4c 34 3a 0a 09 6d 6f 76 65 6d 0,$a0.L4:..movem
0890: 6c 20 24 61 36 40 28 2d 34 34 29 2c 23 30 78 34 l $a6@(-44),#0x4
08a0: 30 63 0a 09 75 6e 6c 6b 20 24 61 36 0a 09 72 74 0c..unlk $a6..rt
08b0: 73 0a s.