~ubuntu-branches/debian/squeeze/ffcall/squeeze

« back to all changes in this revision

Viewing changes to ffcall/vacall/vacall-m68k.mit.S

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger
  • Date: 2010-06-26 15:29:30 UTC
  • mfrom: (5.1.1 experimental)
  • Revision ID: james.westby@ubuntu.com-20100626152930-c09y01gk3szcnykn
Tags: 1.10+cvs20100619-2
Ship to unstable

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include "asmm68k.h"
2
 
.text
3
 
        .even
4
 
.globl C(__vacall)
5
 
        DECLARE_FUNCTION(__vacall)
6
 
C(__vacall:)
7
 
        link $a6,#-32
8
 
        moveml #0x3020,$sp@-
9
 
        clrl $a6@(-32)
10
 
        lea $a6@(8),$a2
11
 
        movel $a2,$a6@(-28)
12
 
        clrl $a6@(-24)
13
 
        clrl $a6@(-20)
14
 
        movel $a1,$a6@(-4)
15
 
        pea $a6@(-32)
16
 
        movel C(vacall_function),$a2
17
 
        jbsr $a2@
18
 
        addql #4,$sp
19
 
        movel $a6@(-20),$d2
20
 
        jeq L4
21
 
        moveq #1,$d3
22
 
        cmpl $d2,$d3
23
 
        jeq L49
24
 
        moveq #2,$d3
25
 
        cmpl $d2,$d3
26
 
        jne L7
27
 
L49:
28
 
        moveb $a6@(-12),$d0
29
 
        extbl $d0
30
 
        jra L4
31
 
        .even
32
 
L7:
33
 
        moveq #3,$d3
34
 
        cmpl $d2,$d3
35
 
        jne L9
36
 
        clrl $d0
37
 
        moveb $a6@(-12),$d0
38
 
        jra L4
39
 
        .even
40
 
L9:
41
 
        moveq #4,$d3
42
 
        cmpl $d2,$d3
43
 
        jne L11
44
 
        movew $a6@(-12),$d0
45
 
        extl $d0
46
 
        jra L4
47
 
        .even
48
 
L11:
49
 
        moveq #5,$d3
50
 
        cmpl $d2,$d3
51
 
        jne L13
52
 
        clrl $d0
53
 
        movew $a6@(-12),$d0
54
 
        jra L4
55
 
        .even
56
 
L13:
57
 
        moveq #6,$d3
58
 
        cmpl $d2,$d3
59
 
        jeq L50
60
 
        moveq #7,$d3
61
 
        cmpl $d2,$d3
62
 
        jeq L50
63
 
        moveq #8,$d3
64
 
        cmpl $d2,$d3
65
 
        jeq L50
66
 
        moveq #9,$d3
67
 
        cmpl $d2,$d3
68
 
        jne L21
69
 
L50:
70
 
        movel $a6@(-12),$d0
71
 
        jra L4
72
 
        .even
73
 
L21:
74
 
        moveq #-10,$d3
75
 
        addl $d3,$d2
76
 
        moveq #1,$d3
77
 
        cmpl $d2,$d3
78
 
        jcs L23
79
 
        movel $a6@(-12),$d0
80
 
        movel $a6@(-8),$d1
81
 
        jra L4
82
 
        .even
83
 
L23:
84
 
        movel $a6@(-20),$d2
85
 
        moveq #12,$d3
86
 
        cmpl $d2,$d3
87
 
        jne L25
88
 
        movel $a6@(-32),$d2
89
 
        btst #6,$d2
90
 
        jeq L26
91
 
        fmoves $a6@(-12),$fp0
92
 
        jra L4
93
 
        .even
94
 
L26:
95
 
        btst #5,$d2
96
 
        jeq L28
97
 
        fmoves $a6@(-12),$fp1
98
 
        fmoved $fp1,$sp@-
99
 
        movel $sp@+,$d0
100
 
        movel $sp@+,$d1
101
 
        jra L4
102
 
        .even
103
 
L28:
104
 
        movel $a6@(-12),$d0
105
 
        jra L4
106
 
        .even
107
 
L25:
108
 
        moveq #13,$d3
109
 
        cmpl $d2,$d3
110
 
        jne L31
111
 
        btst #6,$a6@(-29)
112
 
        jeq L32
113
 
        fmoved $a6@(-12),$fp0
114
 
        jra L4
115
 
        .even
116
 
L32:
117
 
        movel $a6@(-12),$d0
118
 
        movel $a6@(-8),$d1
119
 
        jra L4
120
 
        .even
121
 
L31:
122
 
        moveq #14,$d3
123
 
        cmpl $d2,$d3
124
 
        jne L35
125
 
        movel $a6@(-12),$d0
126
 
        jra L51
127
 
        .even
128
 
L35:
129
 
        moveq #15,$d3
130
 
        cmpl $d2,$d3
131
 
        jne L4
132
 
        movel $a6@(-32),$d2
133
 
        btst #10,$d2
134
 
        jeq L38
135
 
        movel $a6@(-16),$a2
136
 
        moveq #1,$d3
137
 
        cmpl $a2,$d3
138
 
        jne L39
139
 
        movel $a6@(-24),$a2
140
 
        clrl $d0
141
 
        moveb $a2@,$d0
142
 
        jra L4
143
 
        .even
144
 
L39:
145
 
        moveq #2,$d3
146
 
        cmpl $a2,$d3
147
 
        jne L42
148
 
        movel $a6@(-24),$a2
149
 
        clrl $d0
150
 
        movew $a2@,$d0
151
 
        jra L4
152
 
        .even
153
 
L42:
154
 
        moveq #4,$d3
155
 
        cmpl $a2,$d3
156
 
        jne L44
157
 
        movel $a6@(-24),$a2
158
 
        movel $a2@,$d0
159
 
        jra L4
160
 
        .even
161
 
L44:
162
 
        moveq #8,$d3
163
 
        cmpl $a2,$d3
164
 
        jne L38
165
 
        movel $a6@(-24),$a2
166
 
        movel $a2@,$d0
167
 
        movel $a2@(4),$d1
168
 
        jra L4
169
 
        .even
170
 
L38:
171
 
        btst #0,$d2
172
 
        jeq L4
173
 
        movel $a6@(-24),$d0
174
 
L51:
175
 
        movel $d0,$a0
176
 
L4:
177
 
        moveml $a6@(-44),#0x40c
178
 
        unlk $a6
179
 
        rts