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 >
Wrap
Text File
|
1993-04-20
|
4KB
|
182 lines
* AES Library Copyright (C) HiSoft 1988
* this MUST be assembled to either executable or GST linkable, NOT DRI code
* sets section order to TEXT,DATA,BSS
* 27.7.88 adjusted table and addr_in for TOS 1.4 calls
* 3.10.88 control made 5 words instead of 4!
* 1.5.90 adjusted table for form_button/form_keybd
* the actual calling of the AES
MODULE LowLevelAES
XDEF CALL_AES,control,global,int_in,int_out
XDEF addr_in,addr_out,aes_params
SECTION TEXT
* call an AES routine
* in: d0.w=AES function number
* out d0.w=int_out value
* uses d0-d2/a0-a2
* (assumes control4 needs to be zero)
CALL_AES lea control,a1
move.w d0,(a1)+ store the op code
sub.w #10,d0
mulu #3,d0 size is the priority, not speed
lea gem_ctrl_list,a0
add.w d0,a0 points to the entry
moveq #0,d0
move.b (a0)+,d0
move.w d0,(a1)+ do control1
move.b (a0)+,d0
move.w d0,(a1)+ and control2
move.b (a0)+,d0
move.w d0,(a1)+ and control3
clr.w (a1) assumes control4=0 (all except RSRC_GADDR)
move.l #aes_params,d1
move.w #200,d0 function number
trap #2
move.w int_out,d0 usually a returned value
rts
SECTION DATA
* this is a table of pointers to all the AES arrays
aes_params dc.l control,global,int_in,int_out,addr_in,addr_out
* this is the list of Control parameters for the AES calls
* contains control(1..3), comment is the function number
* (an asterisk indicates it is not defined)
gem_ctrl_list
dc.b 0,1,0 10
dc.b 2,1,1 11
dc.b 2,1,1 12
dc.b 0,1,1 13
dc.b 2,1,1 14
dc.b 1,1,1 15
dc.b 0,0,0 16*
dc.b 0,0,0 17*
dc.b 0,0,0 18*
dc.b 0,1,0 19
dc.b 0,1,0 20
dc.b 3,5,0 21
dc.b 5,5,0 22
dc.b 0,1,1 23
dc.b 2,1,0 24
dc.b 16,7,1 25
dc.b 2,1,0 26
dc.b 0,0,0 27*
dc.b 0,0,0 28*
dc.b 0,0,0 29*
dc.b 1,1,1 30
dc.b 2,1,1 31
dc.b 2,1,1 32
dc.b 2,1,1 33
dc.b 1,1,2 34
dc.b 1,1,1 35
dc.b 0,0,0 36*
dc.b 0,0,0 37*
dc.b 0,0,0 38*
dc.b 0,0,0 39*
dc.b 2,1,1 40
dc.b 1,1,1 41
dc.b 6,1,1 42
dc.b 4,1,1 43
dc.b 1,3,1 44
dc.b 2,1,1 45
dc.b 4,2,1 46
dc.b 8,1,1 47
dc.b 0,0,0 48*
dc.b 0,0,0 49*
dc.b 1,1,1 50
dc.b 9,1,0 51
dc.b 1,1,1 52
dc.b 1,1,0 53
dc.b 0,5,1 54
dc.b 3,3,1 55
dc.b 2,2,1 56
dc.b 0,0,0 57*
dc.b 0,0,0 58*
dc.b 0,0,0 59*
dc.b 0,0,0 60*
dc.b 0,0,0 61*
dc.b 0,0,0 62*
dc.b 0,0,0 63*
dc.b 0,0,0 64*
dc.b 0,0,0 65*
dc.b 0,0,0 66*
dc.b 0,0,0 67*
dc.b 0,0,0 68*
dc.b 0,0,0 69*
dc.b 4,3,0 70
dc.b 8,3,0 71
dc.b 6,1,0 72
dc.b 8,1,0 73
dc.b 8,1,0 74
dc.b 4,1,1 75
dc.b 3,1,1 76
dc.b 0,5,0 77
dc.b 1,1,1 78
dc.b 0,5,0 79
dc.b 0,1,1 80
dc.b 0,1,1 81
dc.b 0,0,0 82*
dc.b 0,0,0 83*
dc.b 0,0,0 84*
dc.b 0,0,0 85*
dc.b 0,0,0 86*
dc.b 0,0,0 87*
dc.b 0,0,0 88*
dc.b 0,0,0 89*
dc.b 0,2,2 90
dc.b 0,2,3 91
dc.b 0,0,0 92*
dc.b 0,0,0 93*
dc.b 0,0,0 94*
dc.b 0,0,0 95*
dc.b 0,0,0 96*
dc.b 0,0,0 97*
dc.b 0,0,0 98*
dc.b 0,0,0 99*
dc.b 5,1,0 100
dc.b 5,1,0 101
dc.b 1,1,0 102
dc.b 1,1,0 103
dc.b 2,5,0 104
dc.b 6,1,0 105
dc.b 2,1,0 106
dc.b 1,1,0 107
dc.b 6,5,0 108
dc.b 0,0,0 109
dc.b 0,1,1 110
dc.b 0,1,0 111
dc.b 2,1,0 112 ** Control(4)=1 **
dc.b 2,1,1 113
dc.b 1,1,1 114
dc.b 0,0,0 115
dc.b 0,0,0 116
dc.b 0,0,0 117
dc.b 0,0,0 118
dc.b 0,0,0 119
dc.b 0,1,2 120
dc.b 3,1,2 121
dc.b 1,1,1 122
dc.b 1,1,1 123
dc.b 0,1,1 124
dc.b 0,1,3 125
even
SECTION BSS
* these don't need initialising so can go in the BSS section
control ds.w 5
global ds.w 14
int_in ds.w 16
int_out ds.w 7
addr_in ds.l 3
addr_out ds.l 1
*********** END OF AES *****************