home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / dev / lang / struct / speedtests / ace_test_asms next >
Text File  |  1993-08-21  |  8KB  |  652 lines

  1.  
  2. TEST1:
  3.  
  4.     xref _startup
  5.     xref _cleanup
  6.     xref _starterr
  7.  
  8.     SECTION code,CODE
  9.  
  10.     jsr    _startup
  11.     cmpi.b    #1,_starterr
  12.     bne.s    _START_PROG
  13.     rts
  14. _START_PROG:
  15.     move.l    sp,_initialSP
  16.     movem.l    d1-d7/a0-a6,-(sp)
  17.     link    a4,#-8
  18.  
  19.     move.w    #0,d0
  20.     ext.l    d0
  21.     move.l    d0,-4(a4)
  22.     move.w    #1,d0
  23.     ext.l    d0
  24.     move.l    d0,-8(a4)
  25.     move.l    #16000000,-(sp)
  26.     move.l    #1,-(sp)
  27. _lab0:
  28.     move.l    -8(a4),d0
  29.     move.l    4(sp),d1
  30.     cmpi.l    #0,(sp)
  31.     blt    _lab1
  32.     cmp.l    d1,d0
  33.     bgt    _lab3
  34.     jmp    _lab2
  35. _lab1:
  36.     cmp.l    d1,d0
  37.     blt    _lab3
  38. _lab2:
  39.     move.l    -4(a4),-(sp)
  40.     move.w    #7,d0
  41.     ext.l    d0
  42.     move.l    d0,d1
  43.     move.l    (sp)+,d0
  44.     add.l    d1,d0
  45.     move.l    d0,-4(a4)
  46.     move.l    (sp),d0
  47.     add.l    d0,-8(a4)
  48.     jmp    _lab0
  49. _lab3:
  50.     addq    #8,sp
  51.  
  52. _EXIT_PROG:
  53.     unlk    a4
  54.     movem.l    (sp)+,d1-d7/a0-a6
  55.     move.l    _initialSP,sp
  56.     jsr    _cleanup
  57.  
  58.     rts
  59.  
  60.     SECTION mem,BSS
  61.  
  62. _initialSP:    ds.l 1
  63.  
  64.     END
  65.  
  66. TEST2:
  67.  
  68.     xref _startup
  69.     xref _cleanup
  70.     xref _starterr
  71.  
  72.     SECTION code,CODE
  73.  
  74.     jsr    _startup
  75.     cmpi.b    #1,_starterr
  76.     bne.s    _START_PROG
  77.     rts
  78. _START_PROG:
  79.     move.l    sp,_initialSP
  80.     movem.l    d1-d7/a0-a6,-(sp)
  81.     link    a4,#-12
  82.  
  83.     move.w    #0,d0
  84.     ext.l    d0
  85.     move.l    d0,-4(a4)
  86.     move.w    #2000,d0
  87.     ext.l    d0
  88.     move.l    d0,-8(a4)
  89.     move.w    #0,d0
  90.     ext.l    d0
  91.     move.l    d0,-(sp)
  92.     move.w    #1,-(sp)
  93.     neg.w    (sp)
  94.     move.w    (sp)+,d0
  95.     ext.l    d0
  96.     move.l    d0,-(sp)
  97. _lab0:
  98.     move.l    -8(a4),d0
  99.     move.l    4(sp),d1
  100.     cmpi.l    #0,(sp)
  101.     blt    _lab1
  102.     cmp.l    d1,d0
  103.     bgt    _lab7
  104.     jmp    _lab2
  105. _lab1:
  106.     cmp.l    d1,d0
  107.     blt    _lab7
  108. _lab2:
  109.     move.w    #20000,d0
  110.     ext.l    d0
  111.     move.l    d0,-12(a4)
  112.     move.w    #0,d0
  113.     ext.l    d0
  114.     move.l    d0,-(sp)
  115.     move.w    #1,-(sp)
  116.     neg.w    (sp)
  117.     move.w    (sp)+,d0
  118.     ext.l    d0
  119.     move.l    d0,-(sp)
  120. _lab3:
  121.     move.l    -12(a4),d0
  122.     move.l    4(sp),d1
  123.     cmpi.l    #0,(sp)
  124.     blt    _lab4
  125.     cmp.l    d1,d0
  126.     bgt    _lab6
  127.     jmp    _lab5
  128. _lab4:
  129.     cmp.l    d1,d0
  130.     blt    _lab6
  131. _lab5:
  132.     move.l    -4(a4),-(sp)
  133.     move.w    #7,d0
  134.     ext.l    d0
  135.     move.l    d0,d1
  136.     move.l    (sp)+,d0
  137.     add.l    d1,d0
  138.     move.l    d0,-4(a4)
  139.     move.l    (sp),d0
  140.     add.l    d0,-12(a4)
  141.     jmp    _lab3
  142. _lab6:
  143.     addq    #8,sp
  144.     move.l    (sp),d0
  145.     add.l    d0,-8(a4)
  146.     jmp    _lab0
  147. _lab7:
  148.     addq    #8,sp
  149.  
  150. _EXIT_PROG:
  151.     unlk    a4
  152.     movem.l    (sp)+,d1-d7/a0-a6
  153.     move.l    _initialSP,sp
  154.     jsr    _cleanup
  155.  
  156.     rts
  157.  
  158.     SECTION mem,BSS
  159.  
  160. _initialSP:    ds.l 1
  161.  
  162.     END
  163.  
  164. TEST3:
  165.  
  166.     xref lrem
  167.     xref _startup
  168.     xref _cleanup
  169.     xref _starterr
  170.  
  171.     SECTION code,CODE
  172.  
  173.     jsr    _startup
  174.     cmpi.b    #1,_starterr
  175.     bne.s    _START_PROG
  176.     rts
  177. _START_PROG:
  178.     move.l    sp,_initialSP
  179.     movem.l    d1-d7/a0-a6,-(sp)
  180.     link    a4,#-10
  181.  
  182.     move.w    #0,d0
  183.     ext.l    d0
  184.     move.l    d0,-4(a4)
  185.     move.w    #1,d0
  186.     ext.l    d0
  187.     move.l    d0,-8(a4)
  188.     move.l    #6000000,-(sp)
  189.     move.l    #1,-(sp)
  190. _lab0:
  191.     move.l    -8(a4),d0
  192.     move.l    4(sp),d1
  193.     cmpi.l    #0,(sp)
  194.     blt    _lab1
  195.     cmp.l    d1,d0
  196.     bgt    _lab7
  197.     jmp    _lab2
  198. _lab1:
  199.     cmp.l    d1,d0
  200.     blt    _lab7
  201. _lab2:
  202.     move.l    -8(a4),-(sp)
  203.     move.w    #2,d0
  204.     ext.l    d0
  205.     move.l    d0,-(sp)
  206.     jsr    lrem
  207.     add.l    #8,sp
  208.     move.w    d0,-10(a4)
  209.     move.w    -10(a4),-(sp)
  210.     move.w    #0,d1
  211.     move.w    (sp)+,d0
  212.     moveq    #-1,d5
  213.     cmp.w    d1,d0
  214.     beq.s    _lab3
  215.     moveq    #0,d5
  216. _lab3:
  217.     move.l    d5,-(sp)
  218.     move.l    (sp)+,d0
  219.     cmpi.l    #0,d0
  220.     bne.s    _lab4
  221.     jmp    _lab5
  222. _lab4:
  223.     move.l    -4(a4),-(sp)
  224.     move.w    #7,d0
  225.     ext.l    d0
  226.     move.l    d0,d1
  227.     move.l    (sp)+,d0
  228.     add.l    d1,d0
  229.     move.l    d0,-4(a4)
  230.     jmp    _lab6
  231. _lab5:
  232.     move.l    -4(a4),-(sp)
  233.     move.w    #15,d0
  234.     ext.l    d0
  235.     move.l    d0,d1
  236.     move.l    (sp)+,d0
  237.     add.l    d1,d0
  238.     move.l    d0,-4(a4)
  239. _lab6:
  240.     move.l    (sp),d0
  241.     add.l    d0,-8(a4)
  242.     jmp    _lab0
  243. _lab7:
  244.     addq    #8,sp
  245.  
  246. _EXIT_PROG:
  247.     unlk    a4
  248.     movem.l    (sp)+,d1-d7/a0-a6
  249.     move.l    _initialSP,sp
  250.     jsr    _cleanup
  251.  
  252.     rts
  253.  
  254.     SECTION mem,BSS
  255.  
  256. _initialSP:    ds.l 1
  257.  
  258.     END
  259.  
  260. TEST4:
  261.  
  262.     xref _startup
  263.     xref _cleanup
  264.     xref _starterr
  265.  
  266.     SECTION code,CODE
  267.  
  268.     jsr    _startup
  269.     cmpi.b    #1,_starterr
  270.     bne.s    _START_PROG
  271.     rts
  272. _START_PROG:
  273.     move.l    sp,_initialSP
  274.     movem.l    d1-d7/a0-a6,-(sp)
  275.     link    a4,#-8
  276.  
  277.     move.w    #0,d0
  278.     ext.l    d0
  279.     move.l    d0,-4(a4)
  280.     move.w    #0,d0
  281.     ext.l    d0
  282.     move.l    d0,-8(a4)
  283. _lab0:
  284.     move.l    -4(a4),-(sp)
  285.     move.w    #7,d0
  286.     ext.l    d0
  287.     move.l    d0,d1
  288.     move.l    (sp)+,d0
  289.     add.l    d1,d0
  290.     move.l    d0,-4(a4)
  291.     move.l    a4,d0
  292.     sub.l    #8,d0
  293.     move.l    d0,a0
  294.     add.l    #1,(a0)
  295.     move.l    -8(a4),-(sp)
  296.     move.l    #20000000,d1
  297.     move.l    (sp)+,d0
  298.     moveq    #-1,d5
  299.     cmp.l    d1,d0
  300.     beq.s    _lab1
  301.     moveq    #0,d5
  302. _lab1:
  303.     move.l    d5,d0
  304.     cmpi.l    #0,d0
  305.     bne.s    _lab2
  306.     jmp    _lab0
  307. _lab2:
  308.  
  309. _EXIT_PROG:
  310.     unlk    a4
  311.     movem.l    (sp)+,d1-d7/a0-a6
  312.     move.l    _initialSP,sp
  313.     jsr    _cleanup
  314.  
  315.     rts
  316.  
  317.     SECTION mem,BSS
  318.  
  319. _initialSP:    ds.l 1
  320.  
  321.     END
  322.  
  323. TEST5:
  324.  
  325.     xref _startup
  326.     xref _cleanup
  327.     xref _starterr
  328.  
  329.     SECTION code,CODE
  330.  
  331.     jsr    _startup
  332.     cmpi.b    #1,_starterr
  333.     bne.s    _START_PROG
  334.     rts
  335. _START_PROG:
  336.     move.l    sp,_initialSP
  337.     movem.l    d1-d7/a0-a6,-(sp)
  338.     link    a4,#-8
  339.  
  340.     move.w    #0,d0
  341.     ext.l    d0
  342.     move.l    d0,-4(a4)
  343.     move.w    #0,d0
  344.     ext.l    d0
  345.     move.l    d0,-8(a4)
  346. _lab0:
  347.     move.l    -8(a4),-(sp)
  348.     move.l    #16000000,d1
  349.     move.l    (sp)+,d0
  350.     moveq    #-1,d5
  351.     cmp.l    d1,d0
  352.     blt.s    _lab1
  353.     moveq    #0,d5
  354. _lab1:
  355.     move.l    d5,-(sp)
  356.     move.l    (sp)+,d0
  357.     cmpi.l    #0,d0
  358.     bne.s    _lab2
  359.     jmp    _lab3
  360. _lab2:
  361.     move.l    -4(a4),-(sp)
  362.     move.w    #7,d0
  363.     ext.l    d0
  364.     move.l    d0,d1
  365.     move.l    (sp)+,d0
  366.     add.l    d1,d0
  367.     move.l    d0,-4(a4)
  368.     move.l    a4,d0
  369.     sub.l    #8,d0
  370.     move.l    d0,a0
  371.     add.l    #1,(a0)
  372.     jmp    _lab0
  373. _lab3:
  374.  
  375. _EXIT_PROG:
  376.     unlk    a4
  377.     movem.l    (sp)+,d1-d7/a0-a6
  378.     move.l    _initialSP,sp
  379.     jsr    _cleanup
  380.  
  381.     rts
  382.  
  383.     SECTION mem,BSS
  384.  
  385. _initialSP:    ds.l 1
  386.  
  387.     END
  388.  
  389. TEST6:
  390.  
  391.     xref _startup
  392.     xref _cleanup
  393.     xref _starterr
  394.  
  395.     SECTION code,CODE
  396.  
  397.     jsr    _startup
  398.     cmpi.b    #1,_starterr
  399.     bne.s    _START_PROG
  400.     rts
  401. _START_PROG:
  402.     move.l    sp,_initialSP
  403.     movem.l    d1-d7/a0-a6,-(sp)
  404.     link    a4,#-8
  405.  
  406.     move.w    #0,d0
  407.     ext.l    d0
  408.     move.l    d0,-4(a4)
  409.     move.w    #0,d0
  410.     ext.l    d0
  411.     move.l    d0,-8(a4)
  412.     move.l    #16000000,-(sp)
  413.     move.l    #1,-(sp)
  414. _lab0:
  415.     move.l    -8(a4),d0
  416.     move.l    4(sp),d1
  417.     cmpi.l    #0,(sp)
  418.     blt    _lab1
  419.     cmp.l    d1,d0
  420.     bgt    _lab3
  421.     jmp    _lab2
  422. _lab1:
  423.     cmp.l    d1,d0
  424.     blt    _lab3
  425. _lab2:
  426.     move.l    -4(a4),-(sp)
  427.     move.w    #7,d0
  428.     ext.l    d0
  429.     move.l    d0,d1
  430.     move.l    (sp)+,d0
  431.     add.l    d1,d0
  432.     move.l    d0,-4(a4)
  433.     move.l    (sp),d0
  434.     add.l    d0,-8(a4)
  435.     jmp    _lab0
  436. _lab3:
  437.     addq    #8,sp
  438.  
  439. _EXIT_PROG:
  440.     unlk    a4
  441.     movem.l    (sp)+,d1-d7/a0-a6
  442.     move.l    _initialSP,sp
  443.     jsr    _cleanup
  444.  
  445.     rts
  446.  
  447.     SECTION mem,BSS
  448.  
  449. _initialSP:    ds.l 1
  450.  
  451.     END
  452.  
  453. TEST7:
  454.  
  455.     xref _startup
  456.     xref _cleanup
  457.     xref _starterr
  458.  
  459.     SECTION code,CODE
  460.  
  461.     jsr    _startup
  462.     cmpi.b    #1,_starterr
  463.     bne.s    _START_PROG
  464.     rts
  465. _START_PROG:
  466.     move.l    sp,_initialSP
  467.     movem.l    d1-d7/a0-a6,-(sp)
  468.     link    a4,#-12
  469.  
  470.     move.w    #0,d0
  471.     ext.l    d0
  472.     move.l    d0,-4(a4)
  473.     move.w    #0,d0
  474.     ext.l    d0
  475.     move.l    d0,-8(a4)
  476.     move.w    #1,d0
  477.     ext.l    d0
  478.     move.l    d0,-12(a4)
  479.     move.l    #8000000,-(sp)
  480.     move.l    #1,-(sp)
  481. _lab0:
  482.     move.l    -12(a4),d0
  483.     move.l    4(sp),d1
  484.     cmpi.l    #0,(sp)
  485.     blt    _lab1
  486.     cmp.l    d1,d0
  487.     bgt    _lab7
  488.     jmp    _lab2
  489. _lab1:
  490.     cmp.l    d1,d0
  491.     blt    _lab7
  492. _lab2:
  493.     move.w    #300,-(sp)
  494.     move.w    #97,d1
  495.     move.w    (sp)+,d0
  496.     sub.w    d1,d0
  497.     ext.l    d0
  498.     move.l    d0,-(sp)
  499.     move.l    -8(a4),d1
  500.     move.l    (sp)+,d0
  501.     add.l    d1,d0
  502.     move.l    d0,-(sp)
  503.     move.w    #300,-(sp)
  504.     move.w    #97,d1
  505.     move.w    (sp)+,d0
  506.     sub.w    d1,d0
  507.     ext.l    d0
  508.     move.l    d0,-(sp)
  509.     move.l    -4(a4),d1
  510.     move.l    (sp)+,d0
  511.     add.l    d1,d0
  512.     move.l    d0,d1
  513.     move.l    (sp)+,d0
  514.     moveq    #-1,d5
  515.     cmp.l    d1,d0
  516.     bgt.s    _lab3
  517.     moveq    #0,d5
  518. _lab3:
  519.     move.l    d5,-(sp)
  520.     move.l    (sp)+,d0
  521.     cmpi.l    #0,d0
  522.     bne.s    _lab4
  523.     jmp    _lab5
  524. _lab4:
  525.     move.l    a4,d0
  526.     sub.l    #4,d0
  527.     move.l    d0,a0
  528.     add.l    #1,(a0)
  529.     jmp    _lab6
  530. _lab5:
  531.     move.l    a4,d0
  532.     sub.l    #8,d0
  533.     move.l    d0,a0
  534.     add.l    #1,(a0)
  535. _lab6:
  536.     move.l    (sp),d0
  537.     add.l    d0,-12(a4)
  538.     jmp    _lab0
  539. _lab7:
  540.     addq    #8,sp
  541.  
  542. _EXIT_PROG:
  543.     unlk    a4
  544.     movem.l    (sp)+,d1-d7/a0-a6
  545.     move.l    _initialSP,sp
  546.     jsr    _cleanup
  547.  
  548.     rts
  549.  
  550.     SECTION mem,BSS
  551.  
  552. _initialSP:    ds.l 1
  553.  
  554.     END
  555.  
  556. TEST8:
  557.  
  558.     xref _startup
  559.     xref _cleanup
  560.     xref _starterr
  561.  
  562.     SECTION code,CODE
  563.  
  564.     jsr    _startup
  565.     cmpi.b    #1,_starterr
  566.     bne.s    _START_PROG
  567.     rts
  568. _START_PROG:
  569.     move.l    sp,_initialSP
  570.     movem.l    d1-d7/a0-a6,-(sp)
  571.     link    a4,#-8
  572.  
  573.     move.w    #1,-2(a4)
  574.     move.w    #20,-(sp)
  575.     move.w    #1,-(sp)
  576. _lab0:
  577.     move.w    -2(a4),d0
  578.     move.w    2(sp),d1
  579.     cmpi.w    #0,(sp)
  580.     blt    _lab1
  581.     cmp.w    d1,d0
  582.     bgt    _lab8
  583.     jmp    _lab2
  584. _lab1:
  585.     cmp.w    d1,d0
  586.     blt    _lab8
  587. _lab2:
  588.     move.w    #1,d0
  589.     ext.l    d0
  590.     move.l    d0,-6(a4)
  591.     move.l    #500000,-(sp)
  592.     move.l    #1,-(sp)
  593. _lab3:
  594.     move.l    -6(a4),d0
  595.     move.l    4(sp),d1
  596.     cmpi.l    #0,(sp)
  597.     blt    _lab4
  598.     cmp.l    d1,d0
  599.     bgt    _lab7
  600.     jmp    _lab5
  601. _lab4:
  602.     cmp.l    d1,d0
  603.     blt    _lab7
  604. _lab5:
  605.     move.w    -2(a4),d0
  606.     ext.l    d0
  607.     move.l    d0,-(sp)
  608.     move.l    -6(a4),d1
  609.     move.l    (sp)+,d0
  610.     add.l    d1,d0
  611.     move.l    d0,-(sp)
  612.     move.w    #120,d0
  613.     ext.l    d0
  614.     move.l    d0,d1
  615.     move.l    (sp)+,d0
  616.     add.l    d1,d0
  617.     move.l    d0,a0
  618.     move.b    (a0),d0
  619.     ext.w    d0
  620.     cmp.w    #0,d0
  621.     bge.s    _lab6
  622.     not.w    d0
  623.     move.w    #255,d1
  624.     sub.w    d0,d1
  625.     move.w    d1,d0
  626. _lab6:
  627.     move.w    d0,-8(a4)
  628.     move.l    (sp),d0
  629.     add.l    d0,-6(a4)
  630.     jmp    _lab3
  631. _lab7:
  632.     addq    #8,sp
  633.     move.w    (sp),d0
  634.     add.w    d0,-2(a4)
  635.     jmp    _lab0
  636. _lab8:
  637.     addq    #4,sp
  638.  
  639. _EXIT_PROG:
  640.     unlk    a4
  641.     movem.l    (sp)+,d1-d7/a0-a6
  642.     move.l    _initialSP,sp
  643.     jsr    _cleanup
  644.  
  645.     rts
  646.  
  647.     SECTION mem,BSS
  648.  
  649. _initialSP:    ds.l 1
  650.  
  651.     END
  652.