48a665d3b12d7a73037d9296d55430070c6b5985
[matches/honours.git] / LCD_functions.lst
1    1                            .file   "LCD_functions.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.LCD_puts,"ax",@progbits
10   17                    .global LCD_puts
11   19                    LCD_puts:
12   20                    .LFB2:
13   21                    .LSM0:
14   22                    .LVL0:
15   23                    /* prologue: function */
16   24                    /* frame size = 0 */
17   25 0000 BC01                  movw r22,r24
18   26                    .LVL1:
19   27                    .L2:
20   28                    .LSM1:
21   29 0002 8091 0000             lds r24,gLCD_Update_Required
22   30 0006 8823                  tst r24
23   31 0008 01F4                  brne .L2
24   32 000a 20E0                  ldi r18,lo8(0)
25   33 000c 30E0                  ldi r19,hi8(0)
26   34 000e 00C0                  rjmp .L3
27   35                    .LVL2:
28   36                    .L5:
29   37                    .LSM2:
30   38 0010 F901                  movw r30,r18
31   39 0012 E050                  subi r30,lo8(-(gTextBuffer))
32   40 0014 F040                  sbci r31,hi8(-(gTextBuffer))
33   41 0016 8083                  st Z,r24
34   42 0018 2F5F                  subi r18,lo8(-(1))
35   43 001a 3F4F                  sbci r19,hi8(-(1))
36   44                    .L3:
37   45 001c 422F                  mov r20,r18
38   46                    .LSM3:
39   47 001e FB01                  movw r30,r22
40   48 0020 E20F                  add r30,r18
41   49 0022 F31F                  adc r31,r19
42   50 0024 8081                  ld r24,Z
43   51 0026 8823                  tst r24
44   52 0028 01F0                  breq .L4
45   53 002a 2931                  cpi r18,25
46   54 002c 3105                  cpc r19,__zero_reg__
47   55 002e 01F4                  brne .L5
48   56                    .L4:
49   57                    .LSM4:
50   58 0030 E42F                  mov r30,r20
51   59 0032 F0E0                  ldi r31,lo8(0)
52   60 0034 E050                  subi r30,lo8(-(gTextBuffer))
53   61 0036 F040                  sbci r31,hi8(-(gTextBuffer))
54   62 0038 1082                  st Z,__zero_reg__
55   63                    .LSM5:
56   64 003a 4730                  cpi r20,lo8(7)
57   65 003c 00F0                  brlo .L6
58   66                    .LSM6:
59   67 003e 81E0                  ldi r24,lo8(1)
60   68 0040 8093 0000             sts gScrollMode,r24
61   69                    .LSM7:
62   70 0044 1092 0000             sts gScroll,__zero_reg__
63   71                    .LSM8:
64   72 0048 83E0                  ldi r24,lo8(3)
65   73 004a 8093 0000             sts gLCD_Start_Scroll_Timer,r24
66   74 004e 00C0                  rjmp .L7
67   75                    .L6:
68   76                    .LSM9:
69   77 0050 1092 0000             sts gScrollMode,__zero_reg__
70   78                    .LSM10:
71   79 0054 1092 0000             sts gScroll,__zero_reg__
72   80                    .L7:
73   81                    .LSM11:
74   82 0058 81E0                  ldi r24,lo8(1)
75   83 005a 8093 0000             sts gLCD_Update_Required,r24
76   84                    /* epilogue start */
77   85                    .LSM12:
78   86 005e 0895                  ret
79   87                    .LFE2:
80   89                            .section        .text.LCD_Clear,"ax",@progbits
81   90                    .global LCD_Clear
82   92                    LCD_Clear:
83   93                    .LFB3:
84   94                    .LSM13:
85   95                    /* prologue: function */
86   96                    /* frame size = 0 */
87   97                    .LSM14:
88   98 0000 80E0                  ldi r24,lo8(0)
89   99 0002 90E0                  ldi r25,hi8(0)
90  100                    .LSM15:
91  101 0004 20E2                  ldi r18,lo8(32)
92  102                    .L11:
93  103 0006 FC01                  movw r30,r24
94  104 0008 E050                  subi r30,lo8(-(gTextBuffer))
95  105 000a F040                  sbci r31,hi8(-(gTextBuffer))
96  106 000c 2083                  st Z,r18
97  107 000e 0196                  adiw r24,1
98  108                    .LSM16:
99  109 0010 8931                  cpi r24,25
100  110 0012 9105                  cpc r25,__zero_reg__
101  111 0014 01F4                  brne .L11
102  112                    .LSM17:
103  113 0016 1092 0000             sts gTextBuffer,__zero_reg__
104  114                    /* epilogue start */
105  115                    .LSM18:
106  116 001a 0895                  ret
107  117                    .LFE3:
108  119                            .section        .text.LCD_Colon,"ax",@progbits
109  120                    .global LCD_Colon
110  122                    LCD_Colon:
111  123                    .LFB4:
112  124                    .LSM19:
113  125                    .LVL3:
114  126                    /* prologue: function */
115  127                    /* frame size = 0 */
116  128                    .LSM20:
117  129 0000 8093 0000             sts gColon,r24
118  130                    /* epilogue start */
119  131                    .LSM21:
120  132 0004 0895                  ret
121  133                    .LFE4:
122  135                            .section        .text.LCD_UpdateRequired,"ax",@progbits
123  136                    .global LCD_UpdateRequired
124  138                    LCD_UpdateRequired:
125  139                    .LFB5:
126  140                    .LSM22:
127  141                    .LVL4:
128  142                    /* prologue: function */
129  143                    /* frame size = 0 */
130  144 0000 982F                  mov r25,r24
131  145                    .LVL5:
132  146                    .L17:
133  147                    .LSM23:
134  148 0002 8091 0000             lds r24,gLCD_Update_Required
135  149 0006 8823                  tst r24
136  150 0008 01F4                  brne .L17
137  151                    .LSM24:
138  152 000a 6093 0000             sts gScrollMode,r22
139  153                    .LSM25:
140  154 000e 1092 0000             sts gScroll,__zero_reg__
141  155                    .LSM26:
142  156 0012 9093 0000             sts gLCD_Update_Required,r25
143  157                    /* epilogue start */
144  158                    .LSM27:
145  159 0016 0895                  ret
146  160                    .LFE5:
147  162                            .section        .text.LCD_FlashReset,"ax",@progbits
148  163                    .global LCD_FlashReset
149  165                    LCD_FlashReset:
150  166                    .LFB6:
151  167                    .LSM28:
152  168                    /* prologue: function */
153  169                    /* frame size = 0 */
154  170                    .LSM29:
155  171 0000 1092 0000             sts gFlashTimer,__zero_reg__
156  172                    /* epilogue start */
157  173                    .LSM30:
158  174 0004 0895                  ret
159  175                    .LFE6:
160  177                            .section        .text.LCD_putc,"ax",@progbits
161  178                    .global LCD_putc
162  180                    LCD_putc:
163  181                    .LFB8:
164  182                    .LSM31:
165  183                    .LVL6:
166  184                    /* prologue: function */
167  185                    /* frame size = 0 */
168  186                    .LSM32:
169  187 0000 8931                  cpi r24,lo8(25)
170  188 0002 00F4                  brsh .L24
171  189                    .LSM33:
172  190 0004 E82F                  mov r30,r24
173  191 0006 F0E0                  ldi r31,lo8(0)
174  192 0008 E050                  subi r30,lo8(-(gTextBuffer))
175  193 000a F040                  sbci r31,hi8(-(gTextBuffer))
176  194 000c 6083                  st Z,r22
177  195                    .L24:
178  196 000e 0895                  ret
179  197                    .LFE8:
180  199                            .section        .text.LCD_ShowTime,"ax",@progbits
181  200                    .global LCD_ShowTime
182  202                    LCD_ShowTime:
183  203                    .LFB9:
184  204                    .LSM34:
185  205                    .LVL7:
186  206 0000 6F92                  push r6
187  207 0002 7F92                  push r7
188  208 0004 8F92                  push r8
189  209 0006 9F92                  push r9
190  210 0008 AF92                  push r10
191  211 000a BF92                  push r11
192  212 000c CF92                  push r12
193  213 000e DF92                  push r13
194  214 0010 EF92                  push r14
195  215 0012 FF92                  push r15
196  216 0014 0F93                  push r16
197  217 0016 1F93                  push r17
198  218 0018 DF93                  push r29
199  219 001a CF93                  push r28
200  220 001c 00D0                  rcall .
201  221 001e 00D0                  rcall .
202  222 0020 00D0                  rcall .
203  223 0022 CDB7                  in r28,__SP_L__
204  224 0024 DEB7                  in r29,__SP_H__
205  225                    /* prologue: function */
206  226                    /* frame size = 6 */
207  227 0026 5B01                  movw r10,r22
208  228 0028 6C01                  movw r12,r24
209  229                    .LSM35:
210  230 002a 20E4                  ldi r18,lo8(360000)
211  231 002c 3EE7                  ldi r19,hi8(360000)
212  232 002e 45E0                  ldi r20,hlo8(360000)
213  233 0030 50E0                  ldi r21,hhi8(360000)
214  234 0032 0E94 0000             call __udivmodsi4
215  235                    .LVL8:
216  236 0036 3901                  movw r6,r18
217  237 0038 4A01                  movw r8,r20
218  238                    .LSM36:
219  239 003a B901                  movw r22,r18
220  240                    .LVL9:
221  241 003c 80E0                  ldi r24,lo8(0)
222  242 003e 90E0                  ldi r25,hi8(0)
223  243                    .LVL10:
224  244 0040 20EC                  ldi r18,lo8(-360000)
225  245 0042 31E8                  ldi r19,hi8(-360000)
226  246 0044 4AEF                  ldi r20,hlo8(-360000)
227  247 0046 5FEF                  ldi r21,hhi8(-360000)
228  248 0048 0E94 0000             call __mulsi3
229  249                    .LVL11:
230  250 004c 7B01                  movw r14,r22
231  251 004e 8C01                  movw r16,r24
232  252                    .LVL12:
233  253 0050 EA0C                  add r14,r10
234  254 0052 FB1C                  adc r15,r11
235  255 0054 0C1D                  adc r16,r12
236  256 0056 1D1D                  adc r17,r13
237  257                    .LSM37:
238  258 0058 C801                  movw r24,r16
239  259 005a B701                  movw r22,r14
240  260 005c 20E7                  ldi r18,lo8(6000)
241  261 005e 37E1                  ldi r19,hi8(6000)
242  262 0060 40E0                  ldi r20,hlo8(6000)
243  263 0062 50E0                  ldi r21,hhi8(6000)
244  264 0064 0E94 0000             call __udivmodsi4
245  265 0068 5901                  movw r10,r18
246  266 006a 6A01                  movw r12,r20
247  267                    .LSM38:
248  268 006c 80E7                  ldi r24,lo8(6000)
249  269 006e 97E1                  ldi r25,hi8(6000)
250  270                    .LVL13:
251  271 0070 9C01                  movw r18,r24
252  272 0072 2A9D                  mul r18,r10
253  273 0074 C001                  movw r24,r0
254  274 0076 2B9D                  mul r18,r11
255  275 0078 900D                  add r25,r0
256  276 007a 3A9D                  mul r19,r10
257  277 007c 900D                  add r25,r0
258  278 007e 1124                  clr r1
259  279 0080 A0E0                  ldi r26,lo8(0)
260  280 0082 B0E0                  ldi r27,hi8(0)
261  281 0084 E81A                  sub r14,r24
262  282 0086 F90A                  sbc r15,r25
263  283 0088 0A0B                  sbc r16,r26
264  284 008a 1B0B                  sbc r17,r27
265  285 008c C801                  movw r24,r16
266  286 008e B701                  movw r22,r14
267  287 0090 24E6                  ldi r18,lo8(100)
268  288 0092 30E0                  ldi r19,hi8(100)
269  289 0094 40E0                  ldi r20,hlo8(100)
270  290 0096 50E0                  ldi r21,hhi8(100)
271  291 0098 0E94 0000             call __udivmodsi4
272  292 009c 8901                  movw r16,r18
273  293 009e 9A01                  movw r18,r20
274  294                    .LSM39:
275  295 00a0 C301                  movw r24,r6
276  296 00a2 6AE0                  ldi r22,lo8(10)
277  297 00a4 70E0                  ldi r23,hi8(10)
278  298 00a6 0E94 0000             call __udivmodhi4
279  299 00aa 6983                  std Y+1,r22
280  300                    .LSM40:
281  301 00ac C301                  movw r24,r6
282  302 00ae 6AE0                  ldi r22,lo8(10)
283  303 00b0 70E0                  ldi r23,hi8(10)
284  304 00b2 0E94 0000             call __udivmodhi4
285  305 00b6 8A83                  std Y+2,r24
286  306                    .LSM41:
287  307 00b8 C501                  movw r24,r10
288  308 00ba 6AE0                  ldi r22,lo8(10)
289  309 00bc 70E0                  ldi r23,hi8(10)
290  310 00be 0E94 0000             call __udivmodhi4
291  311 00c2 6B83                  std Y+3,r22
292  312                    .LSM42:
293  313 00c4 C501                  movw r24,r10
294  314 00c6 6AE0                  ldi r22,lo8(10)
295  315 00c8 70E0                  ldi r23,hi8(10)
296  316 00ca 0E94 0000             call __udivmodhi4
297  317 00ce 8C83                  std Y+4,r24
298  318                    .LSM43:
299  319 00d0 C801                  movw r24,r16
300  320 00d2 6AE0                  ldi r22,lo8(10)
301  321 00d4 70E0                  ldi r23,hi8(10)
302  322 00d6 0E94 0000             call __udivmodhi4
303  323 00da 6D83                  std Y+5,r22
304  324                    .LSM44:
305  325 00dc C801                  movw r24,r16
306  326 00de 6AE0                  ldi r22,lo8(10)
307  327 00e0 70E0                  ldi r23,hi8(10)
308  328 00e2 0E94 0000             call __udivmodhi4
309  329 00e6 8E83                  std Y+6,r24
310  330 00e8 7E01                  movw r14,r28
311  331                    .LVL14:
312  332 00ea 0894                  sec
313  333 00ec E11C                  adc r14,__zero_reg__
314  334 00ee F11C                  adc r15,__zero_reg__
315  335 00f0 8701                  movw r16,r14
316  336                    .LBB2:
317  337                    .LSM45:
318  338 00f2 87E0                  ldi r24,lo8(7)
319  339 00f4 C82E                  mov r12,r24
320  340 00f6 D12C                  mov r13,__zero_reg__
321  341 00f8 CC0E                  add r12,r28
322  342 00fa DD1E                  adc r13,r29
323  343                    .L26:
324  344                    .LSM46:
325  345 00fc 802F                  mov r24,r16
326  346 00fe 8E19                  sub r24,r14
327  347 0100 F801                  movw r30,r16
328  348 0102 6191                  ld r22,Z+
329  349 0104 8F01                  movw r16,r30
330  350 0106 605D                  subi r22,lo8(-(48))
331  351 0108 0E94 0000             call LCD_putc
332  352                    .LSM47:
333  353 010c 0C15                  cp r16,r12
334  354 010e 1D05                  cpc r17,r13
335  355 0110 01F4                  brne .L26
336  356                    .LBE2:
337  357                    .LSM48:
338  358 0112 86E0                  ldi r24,lo8(6)
339  359 0114 60E0                  ldi r22,lo8(0)
340  360 0116 0E94 0000             call LCD_putc
341  361                    .LSM49:
342  362 011a 81E0                  ldi r24,lo8(1)
343  363 011c 60E0                  ldi r22,lo8(0)
344  364 011e 0E94 0000             call LCD_UpdateRequired
345  365                    /* epilogue start */
346  366                    .LSM50:
347  367 0122 2696                  adiw r28,6
348  368 0124 0FB6                  in __tmp_reg__,__SREG__
349  369 0126 F894                  cli
350  370 0128 DEBF                  out __SP_H__,r29
351  371 012a 0FBE                  out __SREG__,__tmp_reg__
352  372 012c CDBF                  out __SP_L__,r28
353  373 012e CF91                  pop r28
354  374 0130 DF91                  pop r29
355  375 0132 1F91                  pop r17
356  376 0134 0F91                  pop r16
357  377 0136 FF90                  pop r15
358  378 0138 EF90                  pop r14
359  379 013a DF90                  pop r13
360  380 013c CF90                  pop r12
361  381 013e BF90                  pop r11
362  382 0140 AF90                  pop r10
363  383 0142 9F90                  pop r9
364  384 0144 8F90                  pop r8
365  385 0146 7F90                  pop r7
366  386 0148 6F90                  pop r6
367  387 014a 0895                  ret
368  388                    .LFE9:
369  390                            .section        .text.LCD_printf,"ax",@progbits
370  391                    .global LCD_printf
371  393                    LCD_printf:
372  394                    .LFB7:
373  395                    .LSM51:
374  396                    .LVL15:
375  397 0000 EF92                  push r14
376  398 0002 FF92                  push r15
377  399 0004 0F93                  push r16
378  400 0006 1F93                  push r17
379  401 0008 DF93                  push r29
380  402 000a CF93                  push r28
381  403 000c CDB7                  in r28,__SP_L__
382  404 000e DEB7                  in r29,__SP_H__
383  405 0010 6997                  sbiw r28,25
384  406 0012 0FB6                  in __tmp_reg__,__SREG__
385  407 0014 F894                  cli
386  408 0016 DEBF                  out __SP_H__,r29
387  409 0018 0FBE                  out __SREG__,__tmp_reg__
388  410 001a CDBF                  out __SP_L__,r28
389  411                    /* prologue: function */
390  412                    /* frame size = 25 */
391  413 001c FE01                  movw r30,r28
392  414 001e B296                  adiw r30,34
393  415 0020 6191                  ld r22,Z+
394  416 0022 7191                  ld r23,Z+
395  417                    .LSM52:
396  418 0024 7E01                  movw r14,r28
397  419 0026 0894                  sec
398  420 0028 E11C                  adc r14,__zero_reg__
399  421 002a F11C                  adc r15,__zero_reg__
400  422 002c C701                  movw r24,r14
401  423 002e AF01                  movw r20,r30
402  424 0030 0E94 0000             call vsprintf
403  425 0034 8C01                  movw r16,r24
404  426                    .LVL16:
405  427                    .LSM53:
406  428 0036 C701                  movw r24,r14
407  429 0038 0E94 0000             call LCD_puts
408  430                    .LSM54:
409  431 003c C801                  movw r24,r16
410  432                    /* epilogue start */
411  433 003e 6996                  adiw r28,25
412  434 0040 0FB6                  in __tmp_reg__,__SREG__
413  435 0042 F894                  cli
414  436 0044 DEBF                  out __SP_H__,r29
415  437 0046 0FBE                  out __SREG__,__tmp_reg__
416  438 0048 CDBF                  out __SP_L__,r28
417  439 004a CF91                  pop r28
418  440 004c DF91                  pop r29
419  441 004e 1F91                  pop r17
420  442 0050 0F91                  pop r16
421  443                    .LVL17:
422  444 0052 FF90                  pop r15
423  445 0054 EF90                  pop r14
424  446 0056 0895                  ret
425  447                    .LFE7:
426  449                    .global CONTRAST
427  450                            .section        .data.CONTRAST,"aw",@progbits
428  453                    CONTRAST:
429  454 0000 0F                    .byte   15
430  535                    .Letext0:
431 DEFINED SYMBOLS
432                             *ABS*:0000000000000000 LCD_functions.c
433      /tmp/ccqS7SSi.s:2      *ABS*:000000000000003f __SREG__
434      /tmp/ccqS7SSi.s:3      *ABS*:000000000000003e __SP_H__
435      /tmp/ccqS7SSi.s:4      *ABS*:000000000000003d __SP_L__
436      /tmp/ccqS7SSi.s:5      *ABS*:0000000000000034 __CCP__
437      /tmp/ccqS7SSi.s:6      *ABS*:0000000000000000 __tmp_reg__
438      /tmp/ccqS7SSi.s:7      *ABS*:0000000000000001 __zero_reg__
439      /tmp/ccqS7SSi.s:19     .text.LCD_puts:0000000000000000 LCD_puts
440      /tmp/ccqS7SSi.s:92     .text.LCD_Clear:0000000000000000 LCD_Clear
441      /tmp/ccqS7SSi.s:122    .text.LCD_Colon:0000000000000000 LCD_Colon
442      /tmp/ccqS7SSi.s:138    .text.LCD_UpdateRequired:0000000000000000 LCD_UpdateRequired
443      /tmp/ccqS7SSi.s:165    .text.LCD_FlashReset:0000000000000000 LCD_FlashReset
444      /tmp/ccqS7SSi.s:180    .text.LCD_putc:0000000000000000 LCD_putc
445      /tmp/ccqS7SSi.s:202    .text.LCD_ShowTime:0000000000000000 LCD_ShowTime
446      /tmp/ccqS7SSi.s:393    .text.LCD_printf:0000000000000000 LCD_printf
447      /tmp/ccqS7SSi.s:453    .data.CONTRAST:0000000000000000 CONTRAST
448
449 UNDEFINED SYMBOLS
450 gLCD_Update_Required
451 gTextBuffer
452 gScrollMode
453 gScroll
454 gLCD_Start_Scroll_Timer
455 gColon
456 gFlashTimer
457 __udivmodsi4
458 __mulsi3
459 __udivmodhi4
460 vsprintf
461 __do_copy_data

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