1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
.code
.align 4
.EXPORT g,CODE
.EXPORT g,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR,ARGW2=GR,RTNVAL=GR
g
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3
.ENTRY
stw %r2,-20(%r30)
copy %r3,%r1
copy %r30,%r3
stwm %r1,128(%r30)
stw %r26,-36(%r3)
stw %r25,-40(%r3)
stw %r24,-44(%r3)
ldw -36(%r3),%r26
ldw -40(%r3),%r25
ldw -44(%r3),%r19
copy %r19,%r22
.CALL ARGW0=GR
bl $$dyncall,%r31
copy %r31,%r2
copy %r28,%r19
comiclr,<> 0,%r19,%r0
bl,n L$0002,%r0
ldw -36(%r3),%r28
bl,n L$0001,%r0
bl,n L$0003,%r0
L$0002
ldw -40(%r3),%r28
bl,n L$0001,%r0
L$0003
L$0001
ldw -20(%r3),%r2
ldo 64(%r3),%r30
ldwm -64(%r30),%r3
bv,n %r0(%r2)
.EXIT
.PROCEND
.align 4
f2___4
.PROC
.CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
.ENTRY
copy %r3,%r1
copy %r30,%r3
stwm %r1,64(%r30)
stw %r29,8(%r3)
stw %r26,-36(%r3)
stw %r25,-40(%r3)
ldw -36(%r3),%r19
ldw -40(%r3),%r20
comclr,>= %r20,%r19,%r19
ldi 1,%r19
copy %r19,%r28
bl,n L$0005,%r0
L$0005
ldo 64(%r3),%r30
ldwm -64(%r30),%r3
bv,n %r0(%r2)
.EXIT
.PROCEND
.IMPORT abort,CODE
.data
.align 4
L$TRAMP0000
ldw 36(%r22),%r21
bb,>=,n %r21,30,.+16
depi 0,31,2,%r21
ldw 4(%r21),%r19
ldw 0(%r21),%r21
ldsid (%r21),%r1
mtsp %r1,%sr0
be 0(%sr0,%r21)
ldw 40(%r22),%r29
.word 0
.word 0
.code
.align 4
.EXPORT f,CODE
.EXPORT f,ENTRY,PRIV_LEV=3,RTNVAL=GR
f
.PROC
.CALLINFO FRAME=192,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3
.ENTRY
stw %r2,-20(%r30)
copy %r3,%r1
copy %r30,%r3
stwm %r1,192(%r30)
ldo 16(%r3),%r19
addil L'L$TRAMP0000-$global$,%r27
ldo R'L$TRAMP0000-$global$(%r1),%r22
ldo 40(%r0),%r20
ldws,ma 4(%r22),%r21
addib,>= -4,%r20,.-4
stws,ma %r21,4(%r19)
ldil L'f2___4,%r20
ldo R'f2___4(%r20),%r19
stw %r19,52(%r3)
ldo 8(%r3),%r19
stw %r19,56(%r3)
ldo 16(%r3),%r19
ldo 48(%r3),%r20
fdc %r0(%r19)
fdc %r0(%r20)
sync
ldo 32(%r19),%r22
mfsp %sr0,%r21
ldsid (%r19),%r20
mtsp %r20,%sr0
fic %r0(%sr0,%r19)
fic %r0(%sr0,%r22)
sync
mtsp %r21,%sr0
nop
nop
nop
nop
nop
nop
ldo 16(%r3),%r19
ldi 1,%r26
ldi 2,%r25
copy %r19,%r24
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
bl g,%r2
nop
copy %r28,%r19
comiclr,<> 2,%r19,%r0
bl,n L$0006,%r0
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
bl abort,%r2
nop
L$0006
L$0004
ldw -20(%r3),%r2
ldo 64(%r3),%r30
ldwm -64(%r30),%r3
bv,n %r0(%r2)
.EXIT
.PROCEND
.IMPORT __main,CODE
.IMPORT exit,CODE
.align 4
.EXPORT main,CODE
.EXPORT main,ENTRY,PRIV_LEV=3,RTNVAL=GR
main
.PROC
.CALLINFO FRAME=128,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=3
.ENTRY
stw %r2,-20(%r30)
copy %r3,%r1
copy %r30,%r3
stwm %r1,128(%r30)
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
bl __main,%r2
nop
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
bl f,%r2
nop
copy %r0,%r26
.CALL ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO
bl exit,%r2
nop
L$0007
ldw -20(%r3),%r2
ldo 64(%r3),%r30
ldwm -64(%r30),%r3
bv,n %r0(%r2)
.EXIT
.PROCEND
|