home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_01 / DEVPAC31.LZH / INCDIR / AESLIB.S next >
Text File  |  1993-06-24  |  4KB  |  188 lines

  1.  
  2. * AES Library Copyright (C) HiSoft 1988
  3. * this MUST be assembled to either executable or GST linkable, NOT DRI code
  4.  
  5. * sets section order to TEXT,DATA,BSS
  6.  
  7. * 27.7.88    adjusted table and addr_in for TOS 1.4 calls
  8. * 3.10.88    control made 5 words instead of 4!
  9. * 1.5.90    adjusted table for form_button/form_keybd
  10. * 29.3.93    Additions for Falcon TOS & MultiToS
  11.  
  12. * the actual calling of the AES
  13.  
  14.     MODULE    LowLevelAES
  15.  
  16.     XDEF    CALL_AES,control,global,int_in,int_out
  17.     XDEF    addr_in,addr_out,aes_params
  18.  
  19.     SECTION    TEXT
  20. * call an AES routine
  21. * in:    d0.w=AES function number
  22. * out    d0.w=int_out value
  23. * uses    d0-d2/a0-a2
  24. * (assumes control4 needs to be zero)
  25. CALL_AES    lea    control,a1
  26.     move.w    d0,(a1)+            store the op code
  27.     sub.w    #10,d0
  28.     mulu    #3,d0            size is the priority, not speed
  29.     lea    gem_ctrl_list,a0
  30.     add.w    d0,a0            points to the entry
  31.     moveq    #0,d0
  32.     move.b    (a0)+,d0
  33.     move.w    d0,(a1)+        do control1
  34.     move.b    (a0)+,d0
  35.     move.w    d0,(a1)+        and control2
  36.     move.b    (a0)+,d0
  37.     move.w    d0,(a1)+        and control3
  38.     clr.w    (a1)            assumes control4=0 (all except RSRC_GADDR)
  39.     move.l    #aes_params,d1
  40.     move.w    #200,d0            function number
  41.     trap    #2
  42.     move.w    int_out,d0        usually a returned value
  43.     rts
  44.  
  45.     SECTION    DATA
  46. * this is a table of pointers to all the AES arrays
  47. aes_params    dc.l    control,global,int_in,int_out,addr_in,addr_out
  48.  
  49. * this is the list of Control parameters for the AES calls
  50. * contains control(1..3), comment is the function number
  51. * (an asterisk indicates it is not defined)
  52. gem_ctrl_list
  53.     dc.b    0,1,0    10
  54.     dc.b    2,1,1    11
  55.     dc.b    2,1,1    12
  56.     dc.b    0,1,1    13
  57.     dc.b    2,1,1    14
  58.     dc.b    1,1,1    15
  59.     dc.b    0,0,0    16*
  60.     dc.b    0,0,0    17*
  61.     dc.b    1,3,1    18
  62.     dc.b    0,1,0    19
  63.     dc.b    0,1,0    20
  64.     dc.b    3,5,0    21
  65.     dc.b    5,5,0    22
  66.     dc.b    0,1,1    23
  67.     dc.b    2,1,0    24
  68.     dc.b    16,7,1    25
  69.     dc.b    2,1,0    26
  70.     dc.b    0,0,0    27*
  71.     dc.b    0,0,0    28*
  72.     dc.b    0,0,0    29*
  73.     dc.b    1,1,1    30
  74.     dc.b    2,1,1    31
  75.     dc.b    2,1,1    32
  76.     dc.b    2,1,1    33
  77.     dc.b    1,1,2    34
  78.     dc.b    1,1,1    35
  79.     dc.b    2,1,2    36
  80.     dc.b    2,1,2    37
  81.     dc.b    3,1,1    38
  82.     dc.b    1,1,1    39
  83.     dc.b    2,1,1    40
  84.     dc.b    1,1,1    41
  85.     dc.b    6,1,1    42
  86.     dc.b    4,1,1    43
  87.     dc.b    1,3,1    44
  88.     dc.b    2,1,1    45
  89.     dc.b    4,2,1    46
  90.     dc.b    8,1,1    47
  91.     dc.b    4,3,0    48
  92.     dc.b    0,0,0    49*
  93.     dc.b    1,1,1    50
  94.     dc.b    9,1,0    51
  95.     dc.b    1,1,1    52
  96.     dc.b    1,1,0    53
  97.     dc.b    0,5,1    54
  98.     dc.b    3,3,1    55
  99.     dc.b    2,2,1    56
  100.     dc.b    0,0,0    57*
  101.     dc.b    0,0,0    58*
  102.     dc.b    0,0,0    59*
  103.     dc.b    0,0,0    60*
  104.     dc.b    0,0,0    61*
  105.     dc.b    0,0,0    62*
  106.     dc.b    0,0,0    63*
  107.     dc.b    0,0,0    64*
  108.     dc.b    0,0,0    65*
  109.     dc.b    0,0,0    66*
  110.     dc.b    0,0,0    67*
  111.     dc.b    0,0,0    68*
  112.     dc.b    0,0,0    69*
  113.     dc.b    4,3,0    70
  114.     dc.b    8,3,0    71
  115.     dc.b    6,1,0    72
  116.     dc.b    8,1,0    73
  117.     dc.b    8,1,0    74
  118.     dc.b    4,1,1    75
  119.     dc.b    3,1,1    76
  120.     dc.b    0,5,0    77
  121.     dc.b    1,1,1    78
  122.     dc.b    0,5,0    79
  123.     dc.b    0,1,1    80
  124.     dc.b    0,1,1    81
  125.     dc.b    0,0,0    82*
  126.     dc.b    0,0,0    83*
  127.     dc.b    0,0,0    84*
  128.     dc.b    0,0,0    85*
  129.     dc.b    0,0,0    86*
  130.     dc.b    0,0,0    87*
  131.     dc.b    0,0,0    88*
  132.     dc.b    0,0,0    89*
  133.     dc.b    0,2,2    90
  134.     dc.b    0,2,3    91
  135.     dc.b    0,0,0    92*
  136.     dc.b    0,0,0    93*
  137.     dc.b    0,0,0    94*
  138.     dc.b    0,0,0    95*
  139.     dc.b    0,0,0    96*
  140.     dc.b    0,0,0    97*
  141.     dc.b    0,0,0    98*
  142.     dc.b    0,0,0    99*
  143.     dc.b    5,1,0    100
  144.     dc.b    5,1,0    101
  145.     dc.b    1,1,0    102
  146.     dc.b    1,1,0    103
  147.     dc.b    6,5,0    104
  148.     dc.b    6,1,0    105
  149.     dc.b    2,1,0    106
  150.     dc.b    1,1,0    107
  151.     dc.b    6,5,0    108
  152.     dc.b    0,0,0    109
  153.     dc.b    0,1,1    110
  154.     dc.b    0,1,0    111
  155.     dc.b    2,1,0    112 ** Control(4)=1 **
  156.     dc.b    2,1,1    113
  157.     dc.b    1,1,1    114
  158.     dc.b    0,1,1    115
  159.     dc.b    0,0,0    116
  160.     dc.b    0,0,0    117
  161.     dc.b    0,0,0    118
  162.     dc.b    0,0,0    119
  163.     dc.b    0,1,2    120
  164.     dc.b    3,1,2    121
  165.     dc.b    1,1,1    122
  166.     dc.b    1,1,1    123
  167.     dc.b    0,1,1    124
  168.     dc.b    0,1,3    125
  169.     dc.b    0,0,0    126*
  170.     dc.b    0,0,0    127*
  171.     dc.b    0,0,0    128*
  172.     dc.b    0,0,0    129*
  173.     dc.b    1,5,0    130
  174.     even
  175.  
  176.     SECTION    BSS
  177. * these don't need initialising so can go in the BSS section
  178. control        ds.w    5
  179. global        ds.w    14
  180. int_in        ds.w    16
  181. int_out        ds.w    7
  182. addr_in        ds.l    3
  183. addr_out    ds.l    1
  184.  
  185.  
  186. *********** END OF AES *****************
  187.  
  188.