Parallel Programming - Final version
[matches/honours.git] / research / TCS / apparatus / source_code / adc.lst
1    1                            .file   "adc.c"
2    2                    __SREG__ = 0x3f
3    3                    __SP_H__ = 0x3e
4    4                    __SP_L__ = 0x3d
5    5                    __CCP__  = 0x34
6    6                    __tmp_reg__ = 0
7    7                    __zero_reg__ = 1
8   15                    .Ltext0:
9   16                            .section        .text.ADC_read,"ax",@progbits
10   17                    .global ADC_read
11   19                    ADC_read:
12   20                    .LFB2:
13   21                    .LSM0:
14   22                    .LVL0:
15   23 0000 2F92                  push r2
16   24 0002 3F92                  push r3
17   25 0004 4F92                  push r4
18   26 0006 5F92                  push r5
19   27 0008 6F92                  push r6
20   28 000a 7F92                  push r7
21   29 000c 8F92                  push r8
22   30 000e 9F92                  push r9
23   31 0010 AF92                  push r10
24   32 0012 BF92                  push r11
25   33 0014 CF92                  push r12
26   34 0016 DF92                  push r13
27   35 0018 EF92                  push r14
28   36 001a FF92                  push r15
29   37 001c 0F93                  push r16
30   38 001e 1F93                  push r17
31   39 0020 DF93                  push r29
32   40 0022 CF93                  push r28
33   41 0024 00D0                  rcall .
34   42 0026 00D0                  rcall .
35   43 0028 0F92                  push __tmp_reg__
36   44 002a CDB7                  in r28,__SP_L__
37   45 002c DEB7                  in r29,__SP_H__
38   46                    /* prologue: function */
39   47                    /* frame size = 5 */
40   48 002e 8B83                  std Y+3,r24
41   49                    .LSM1:
42   50 0030 8093 7C00             sts 124,r24
43   51                    .LSM2:
44   52 0034 8130                  cpi r24,lo8(1)
45   53 0036 01F4                  brne .L2
46   54                    .LSM3:
47   55 0038 8091 7C00             lds r24,124
48   56                    .LVL1:
49   57 003c 806C                  ori r24,lo8(-64)
50   58 003e 8093 7C00             sts 124,r24
51   59                    .L3:
52   60                    .LSM4:
53   61 0042 2B99                  sbic 37-32,3
54   62 0044 00C0                  rjmp .L3
55   63                    .L14:
56   64                    .LSM5:
57   65 0046 2B9B                  sbis 37-32,3
58   66 0048 00C0                  rjmp .L14
59   67 004a 00C0                  rjmp .L5
60   68                    .LVL2:
61   69                    .L2:
62   70                    .LSM6:
63   71 004c 8091 7C00             lds r24,124
64   72                    .LVL3:
65   73 0050 8064                  ori r24,lo8(64)
66   74 0052 8093 7C00             sts 124,r24
67   75                    .LSM7:
68   76 0056 8091 7C00             lds r24,124
69   77 005a 8F77                  andi r24,lo8(127)
70   78 005c 8093 7C00             sts 124,r24
71   79                    .L5:
72   80                    .LSM8:
73   81 0060 83E8                  ldi r24,lo8(-125)
74   82 0062 8093 7A00             sts 122,r24
75   83                    .LSM9:
76   84 0066 8091 7A00             lds r24,122
77   85 006a 8064                  ori r24,lo8(64)
78   86 006c 8093 7A00             sts 122,r24
79   87                    .L6:
80   88                    .LSM10:
81   89 0070 8091 7A00             lds r24,122
82   90 0074 84FF                  sbrs r24,4
83   91 0076 00C0                  rjmp .L6
84   92                    .LSM11:
85   93 0078 2091 0000             lds r18,setup+2
86   94 007c 3091 0000             lds r19,(setup+2)+1
87   95 0080 3A83                  std Y+2,r19
88   96 0082 2983                  std Y+1,r18
89   97 0084 1D82                  std Y+5,__zero_reg__
90   98 0086 1C82                  std Y+4,__zero_reg__
91   99                    .LVL4:
92  100 0088 0F2E                  mov __tmp_reg__,r31
93  101 008a F0E0                  ldi r31,lo8(0x0)
94  102 008c 2F2E                  mov r2,r31
95  103 008e F0E0                  ldi r31,hi8(0x0)
96  104 0090 3F2E                  mov r3,r31
97  105 0092 F0E0                  ldi r31,hlo8(0x0)
98  106 0094 4F2E                  mov r4,r31
99  107 0096 F0E0                  ldi r31,hhi8(0x0)
100  108 0098 5F2E                  mov r5,r31
101  109 009a F02D                  mov r31,__tmp_reg__
102  110                    .LVL5:
103  111 009c 4201                  movw r8,r4
104  112 009e 3101                  movw r6,r2
105  113                    .LVL6:
106  114 00a0 00C0                  rjmp .L7
107  115                    .LVL7:
108  116                    .L9:
109  117                    .LSM12:
110  118 00a2 8091 7A00             lds r24,122
111  119 00a6 8064                  ori r24,lo8(64)
112  120 00a8 8093 7A00             sts 122,r24
113  121                    .L8:
114  122                    .LSM13:
115  123 00ac 8091 7A00             lds r24,122
116  124 00b0 84FF                  sbrs r24,4
117  125 00b2 00C0                  rjmp .L8
118  126                    .LSM14:
119  127 00b4 6091 7800             lds r22,120
120  128 00b8 70E0                  ldi r23,lo8(0)
121  129 00ba 80E0                  ldi r24,lo8(0)
122  130 00bc 90E0                  ldi r25,hi8(0)
123  131 00be 0E94 0000             call __floatunsisf
124  132 00c2 7B01                  movw r14,r22
125  133 00c4 8C01                  movw r16,r24
126  134                    .LSM15:
127  135 00c6 6091 7900             lds r22,121
128  136 00ca 70E0                  ldi r23,lo8(0)
129  137 00cc 762F                  mov r23,r22
130  138 00ce 6627                  clr r22
131  139 00d0 8827                  clr r24
132  140 00d2 77FD                  sbrc r23,7
133  141 00d4 8095                  com r24
134  142 00d6 982F                  mov r25,r24
135  143 00d8 0E94 0000             call __floatsisf
136  144 00dc 9B01                  movw r18,r22
137  145 00de AC01                  movw r20,r24
138  146 00e0 C801                  movw r24,r16
139  147 00e2 B701                  movw r22,r14
140  148 00e4 0E94 0000             call __addsf3
141  149 00e8 7B01                  movw r14,r22
142  150 00ea 8C01                  movw r16,r24
143  151                    .LSM16:
144  152 00ec A201                  movw r20,r4
145  153 00ee 9101                  movw r18,r2
146  154 00f0 0E94 0000             call __subsf3
147  155 00f4 5B01                  movw r10,r22
148  156 00f6 6C01                  movw r12,r24
149  157                    .LSM17:
150  158 00f8 8C81                  ldd r24,Y+4
151  159 00fa 9D81                  ldd r25,Y+5
152  160 00fc 0196                  adiw r24,1
153  161 00fe 9D83                  std Y+5,r25
154  162 0100 8C83                  std Y+4,r24
155  163                    .LVL8:
156  164 0102 BC01                  movw r22,r24
157  165                    .LVL9:
158  166 0104 80E0                  ldi r24,lo8(0)
159  167 0106 90E0                  ldi r25,hi8(0)
160  168                    .LVL10:
161  169 0108 0E94 0000             call __floatunsisf
162  170                    .LVL11:
163  171 010c 9B01                  movw r18,r22
164  172 010e AC01                  movw r20,r24
165  173 0110 C601                  movw r24,r12
166  174 0112 B501                  movw r22,r10
167  175 0114 0E94 0000             call __divsf3
168  176 0118 9B01                  movw r18,r22
169  177 011a AC01                  movw r20,r24
170  178 011c C201                  movw r24,r4
171  179 011e B101                  movw r22,r2
172  180 0120 0E94 0000             call __addsf3
173  181 0124 1B01                  movw r2,r22
174  182 0126 2C01                  movw r4,r24
175  183                    .LSM18:
176  184 0128 C801                  movw r24,r16
177  185 012a B701                  movw r22,r14
178  186 012c A201                  movw r20,r4
179  187 012e 9101                  movw r18,r2
180  188 0130 0E94 0000             call __subsf3
181  189 0134 9B01                  movw r18,r22
182  190 0136 AC01                  movw r20,r24
183  191 0138 C601                  movw r24,r12
184  192 013a B501                  movw r22,r10
185  193 013c 0E94 0000             call __mulsf3
186  194 0140 9B01                  movw r18,r22
187  195 0142 AC01                  movw r20,r24
188  196 0144 C401                  movw r24,r8
189  197 0146 B301                  movw r22,r6
190  198 0148 0E94 0000             call __addsf3
191  199 014c 3B01                  movw r6,r22
192  200 014e 4C01                  movw r8,r24
193  201                    .LVL12:
194  202                    .L7:
195  203                    .LSM19:
196  204 0150 EC81                  ldd r30,Y+4
197  205 0152 FD81                  ldd r31,Y+5
198  206 0154 2981                  ldd r18,Y+1
199  207 0156 3A81                  ldd r19,Y+2
200  208 0158 E217                  cp r30,r18
201  209 015a F307                  cpc r31,r19
202  210 015c 00F4                  brsh .+2
203  211 015e 00C0                  rjmp .L9
204  212                    .LSM20:
205  213 0160 8091 7A00             lds r24,122
206  214 0164 8F77                  andi r24,lo8(127)
207  215 0166 8093 7A00             sts 122,r24
208  216                    .LSM21:
209  217 016a 3B81                  ldd r19,Y+3
210  218 016c 032F                  mov r16,r19
211  219 016e 10E0                  ldi r17,lo8(0)
212  220 0170 F801                  movw r30,r16
213  221 0172 EE0F                  lsl r30
214  222 0174 FF1F                  rol r31
215  223 0176 EE0F                  lsl r30
216  224 0178 FF1F                  rol r31
217  225 017a E050                  subi r30,lo8(-(setup))
218  226 017c F040                  sbci r31,hi8(-(setup))
219  227 017e 2686                  std Z+14,r2
220  228 0180 3786                  std Z+15,r3
221  229 0182 408A                  std Z+16,r4
222  230 0184 518A                  std Z+17,r5
223  231                    .LSM22:
224  232 0186 C401                  movw r24,r8
225  233 0188 B301                  movw r22,r6
226  234 018a 20E0                  ldi r18,lo8(0x0)
227  235 018c 30E0                  ldi r19,hi8(0x0)
228  236 018e 40E0                  ldi r20,hlo8(0x0)
229  237 0190 50E0                  ldi r21,hhi8(0x0)
230  238 0192 0E94 0000             call __ltsf2
231  239 0196 8823                  tst r24
232  240 0198 04F4                  brge .L10
233  241                    .LSM23:
234  242 019a 97FA                  bst r9,7
235  243 019c 9094                  com r9
236  244 019e 97F8                  bld r9,7
237  245 01a0 9094                  com r9
238  246                    .L10:
239  247                    .LSM24:
240  248 01a2 000F                  lsl r16
241  249 01a4 111F                  rol r17
242  250 01a6 000F                  lsl r16
243  251 01a8 111F                  rol r17
244  252 01aa 0050                  subi r16,lo8(-(setup))
245  253 01ac 1040                  sbci r17,hi8(-(setup))
246  254 01ae E981                  ldd r30,Y+1
247  255 01b0 FA81                  ldd r31,Y+2
248  256 01b2 BF01                  movw r22,r30
249  257 01b4 80E0                  ldi r24,lo8(0)
250  258 01b6 90E0                  ldi r25,hi8(0)
251  259 01b8 0E94 0000             call __floatunsisf
252  260 01bc 9B01                  movw r18,r22
253  261 01be AC01                  movw r20,r24
254  262 01c0 C401                  movw r24,r8
255  263 01c2 B301                  movw r22,r6
256  264 01c4 0E94 0000             call __divsf3
257  265 01c8 F801                  movw r30,r16
258  266 01ca 66A7                  std Z+46,r22
259  267 01cc 77A7                  std Z+47,r23
260  268 01ce 80AB                  std Z+48,r24
261  269 01d0 91AB                  std Z+49,r25
262  270                    .LSM25:
263  271 01d2 C201                  movw r24,r4
264  272 01d4 B101                  movw r22,r2
265  273                    /* epilogue start */
266  274 01d6 0F90                  pop __tmp_reg__
267  275 01d8 0F90                  pop __tmp_reg__
268  276 01da 0F90                  pop __tmp_reg__
269  277 01dc 0F90                  pop __tmp_reg__
270  278 01de 0F90                  pop __tmp_reg__
271  279 01e0 CF91                  pop r28
272  280 01e2 DF91                  pop r29
273  281 01e4 1F91                  pop r17
274  282 01e6 0F91                  pop r16
275  283 01e8 FF90                  pop r15
276  284 01ea EF90                  pop r14
277  285 01ec DF90                  pop r13
278  286 01ee CF90                  pop r12
279  287 01f0 BF90                  pop r11
280  288 01f2 AF90                  pop r10
281  289 01f4 9F90                  pop r9
282  290 01f6 8F90                  pop r8
283  291 01f8 7F90                  pop r7
284  292 01fa 6F90                  pop r6
285  293                    .LVL13:
286  294 01fc 5F90                  pop r5
287  295 01fe 4F90                  pop r4
288  296 0200 3F90                  pop r3
289  297 0202 2F90                  pop r2
290  298                    .LVL14:
291  299 0204 0895                  ret
292  300                    .LFE2:
293  326                    .Letext0:
294 DEFINED SYMBOLS
295                             *ABS*:0000000000000000 adc.c
296      /tmp/cc77GQr0.s:2      *ABS*:000000000000003f __SREG__
297      /tmp/cc77GQr0.s:3      *ABS*:000000000000003e __SP_H__
298      /tmp/cc77GQr0.s:4      *ABS*:000000000000003d __SP_L__
299      /tmp/cc77GQr0.s:5      *ABS*:0000000000000034 __CCP__
300      /tmp/cc77GQr0.s:6      *ABS*:0000000000000000 __tmp_reg__
301      /tmp/cc77GQr0.s:7      *ABS*:0000000000000001 __zero_reg__
302      /tmp/cc77GQr0.s:19     .text.ADC_read:0000000000000000 ADC_read
303
304 UNDEFINED SYMBOLS
305 setup
306 __floatunsisf
307 __floatsisf
308 __addsf3
309 __subsf3
310 __divsf3
311 __mulsf3
312 __ltsf2

UCC git Repository :: git.ucc.asn.au