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