1
.file "main.c"
2
.arch atmega16
3
__SREG__ = 0x3f
4
__SP_H__ = 0x3e
5
__SP_L__ = 0x3d
6
__tmp_reg__ = 0
7
__zero_reg__ = 1
8
.global __do_copy_data
9
.global __do_clear_bss
17
.Ltext0:
18
.global ht1621_send_bit_h
20
ht1621_send_bit_h:
21
.LFB6:
22
.LM1:
23
/* prologue: frame size=0 */
24
/* prologue end (size=0) */
25
.LVL0:
26 0000 90E0 ldi
r25,lo8(0)
27
.LVL1:
28 0002 00C0 rjmp
.L2
29
.L3:
30
.LM2:
31 0004 AB98 cbi
53-0x20,3
32
.LM3:
33 0006 87FF sbrs
r24,7
34 0008 00C0 rjmp
.L4
35
.LM4:
36 000a AA9A sbi
53-0x20,2
37 000c 00C0 rjmp
.L6
38
.L4:
39
.LM5:
40 000e AA98 cbi
53-0x20,2
41
.L6:
42
.LM6:
43 0010 AB9A sbi
53-0x20,3
44
.LM7:
45 0012 880F lsl
r24
46
.LM8:
47 0014 9F5F subi
r25,lo8(-(1))
48
.L2:
49 0016 9617 cp
r25,r22
50 0018 01F4 brne
.L3
51
/* epilogue: frame size=0 */
52 001a 0895
ret
53
/* epilogue end (size=1) */
54
/* function ht1621_send_bit_h size 14 (13) */
55
.LFE6:
57
.global ht1621_send_bit_l
59
ht1621_send_bit_l:
60
.LFB7:
61
.LM9:
62
/* prologue: frame size=0 */
63
/* prologue end (size=0) */
64
.LVL2:
65 001c 90E0 ldi
r25,lo8(0)
66
.LVL3:
67 001e 00C0 rjmp
.L10
68
.L11:
69
.LM10:
70 0020 AB98 cbi
53-0x20,3
71
.LM11:
72 0022 80FF sbrs
r24,0
73 0024 00C0 rjmp
.L12
74
.LM12:
75 0026 AA9A sbi
53-0x20,2
76 0028 00C0 rjmp
.L14
77
.L12:
78
.LM13:
79 002a AA98 cbi
53-0x20,2
80
.L14:
81
.LM14:
82 002c AB9A sbi
53-0x20,3
83
.LM15:
84 002e 8695 lsr
r24
85
.LM16:
86 0030 9F5F subi
r25,lo8(-(1))
87
.L10:
88 0032 9617 cp
r25,r22
89 0034 01F4 brne
.L11
90
/* epilogue: frame size=0 */
91 0036 0895
ret
92
/* epilogue end (size=1) */
93
/* function ht1621_send_bit_l size 14 (13) */
94
.LFE7:
96
.global ht1621_send_cmd
98
ht1621_send_cmd:
99
.LFB8:
100
.LM17:
101
/* prologue: frame size=0 */
102 0038 1F93 push
r17
103
/* prologue end (size=1) */
104
.LVL4:
105 003a 182F mov
r17,r24
106
.LM18:
107 003c AC98 cbi
53-0x20,4
108
.LM19:
109 003e 63E0 ldi
r22,lo8(3)
110 0040 80E8 ldi
r24,lo8(-128)
111
.LVL5:
112 0042 0E94 0000 call ht1621_send_bit_h
113
.LM20:
114 0046 69E0 ldi
r22,lo8(9)
115 0048 812F mov
r24,r17
116 004a 0E94 0000 call ht1621_send_bit_h
117
.LM21:
118 004e AC9A sbi
53-0x20,4
119
/* epilogue: frame size=0 */
120 0050 1F91 pop
r17
121 0052 0895
ret
122
/* epilogue end (size=2) */
123
/* function ht1621_send_cmd size 14 (11) */
124
.LFE8:
126
.global ht1621_write_byte
128
ht1621_write_byte:
129
.LFB9:
130
.LM22:
131
/* prologue: frame size=0 */
132 0054 0F93 push
r16
133 0056 1F93 push
r17
134
/* prologue end (size=2) */
135
.LVL6:
136 0058 082F mov
r16,r24
137 005a 162F mov
r17,r22
138
.LM23:
139 005c AC98 cbi
53-0x20,4
140
.LM24:
141 005e AB98 cbi
53-0x20,3
142
.LM25:
143 0060 63E0 ldi
r22,lo8(3)
144
.LVL7:
145 0062 80EA ldi
r24,lo8(-96)
146
.LVL8:
147 0064 0E94 0000 call ht1621_send_bit_h
148
.LM26:
149 0068 66E0 ldi
r22,lo8(6)
150 006a 812F mov
r24,r17
151 006c 8295 swap
r24
152 006e 807F andi
r24,0xf0
153 0070 0E94 0000 call ht1621_send_bit_h
154
.LM27:
155 0074 64E0 ldi
r22,lo8(4)
156 0076 802F mov
r24,r16
157 0078 0E94 0000 call ht1621_send_bit_l
158
.LM28:
159 007c AC9A sbi
53-0x20,4
160 007e AB9A sbi
53-0x20,3
161
/* epilogue: frame size=0 */
162 0080 1F91 pop
r17
163 0082 0F91 pop
r16
164 0084 0895
ret
165
/* epilogue end (size=3) */
166
/* function ht1621_write_byte size 25 (20) */
167
.LFE9:
169
.global ht1621_write_string
171
ht1621_write_string:
172
.LFB10:
173
.LM29:
174
/* prologue: frame size=0 */
175 0086 0F93 push
r16
176 0088 1F93 push
r17
177 008a CF93 push
r28
178 008c DF93 push
r29
179
/* prologue end (size=4) */
180
.LVL9:
181 008e EC01 movw
r28,r24
182 0090 162F mov
r17,r22
183 0092 042F mov
r16,r20
184
.LM30:
185 0094 AC98 cbi
53-0x20,4
186
.LM31:
187 0096 63E0 ldi
r22,lo8(3)
188
.LVL10:
189 0098 80EA ldi
r24,lo8(-96)
190
.LVL11:
191 009a 0E94 0000 call ht1621_send_bit_h
192
.LVL12:
193
.LM32:
194 009e 66E0 ldi
r22,lo8(6)
195 00a0 812F mov
r24,r17
196 00a2 880F lsl
r24
197 00a4 880F lsl
r24
198 00a6 0E94 0000 call ht1621_send_bit_h
199
.LM33:
200 00aa 202F mov
r18,r16
201 00ac 210F add
r18,r17
202 00ae 312D mov
r19,__zero_reg__
203 00b0 311D adc
r19,__zero_reg__
204 00b2 2131 cpi
r18,17
205 00b4 3105 cpc
r19,__zero_reg__
206 00b6 04F0 brlt
.L22
207
.LM34:
208 00b8 00E1 ldi
r16,lo8(16)
209 00ba 011B sub
r16,r17
210
.L22:
211 00bc 10E0 ldi
r17,lo8(0)
212
.LVL13:
213 00be 00C0 rjmp
.L24
214
.L25:
215
.LM35:
216 00c0 68E0 ldi
r22,lo8(8)
217 00c2 8991 ld
r24,Y+
218 00c4 0E94 0000 call ht1621_send_bit_l
219
.LM36:
220 00c8 1F5F subi
r17,lo8(-(1))
221
.L24:
222 00ca 1017 cp
r17,r16
223 00cc 01F4 brne
.L25
224
.LM37:
225 00ce AC9A sbi
53-0x20,4
226
/* epilogue: frame size=0 */
227 00d0 DF91 pop
r29
228 00d2 CF91 pop
r28
229 00d4 1F91 pop
r17
230 00d6 0F91 pop
r16
231 00d8 0895
ret
232
/* epilogue end (size=5) */
233
/* function ht1621_write_string size 42 (33) */
234
.LFE10:
236
.global ht1621_int
238
ht1621_int:
239
.LFB11:
240
.LM38:
241
/* prologue: frame size=0 */
242
/* prologue end (size=0) */
243
.LM39:
244 00da 89E2 ldi
r24,lo8(41)
245 00dc 0E94 0000 call ht1621_send_cmd
246
.LM40:
247 00e0 81E0 ldi
r24,lo8(1)
248 00e2 0E94 0000 call ht1621_send_cmd
249
.LM41:
250 00e6 83E0 ldi
r24,lo8(3)
251 00e8 0E94 0000 call ht1621_send_cmd
252
.LM42:
253 00ec 88E1 ldi
r24,lo8(24)
254 00ee 0E94 0000 call ht1621_send_cmd
255
/* epilogue: frame size=0 */
256 00f2 0895
ret
257
/* epilogue end (size=1) */
258
/* function ht1621_int size 13 (12) */
259
.LFE11:
261
.global __vector_5
263
__vector_5:
264
.LFB13:
265
.LM43:
266
/* prologue: frame size=0 */
267 00f4 1F92 push
__zero_reg__
268 00f6 0F92 push
__tmp_reg__
269 00f8 0FB6 in
__tmp_reg__,__SREG__
270 00fa 0F92 push
__tmp_reg__
271 00fc 1124 clr
__zero_reg__
272 00fe 2F93 push
r18
273 0100 3F93 push
r19
274 0102 4F93 push
r20
275 0104 5F93 push
r21
276 0106 8F93 push
r24
277 0108 9F93 push
r25
278
/* prologue end (size=11) */
279
.LM44:
280 010a 26B5 in
r18,70-0x20
281 010c 37B5 in
r19,(70)+1-0x20
282
.LVL14:
283
.LM45:
284 010e 1DBC out
(76)+1-0x20,__zero_reg__
285 0110 1CBC out
76-0x20,__zero_reg__
286
.LM46:
287 0112 C901 movw
r24,r18
288 0114 8150 subi
r24,lo8(-(-1025))
289 0116 9440 sbci
r25,hi8(-(-1025))
290 0118 883C cpi
r24,200
291 011a 9105 cpc
r25,__zero_reg__
292 011c 00F0 brlo
.L31
293
.LM47:
294 011e C901 movw
r24,r18
295 0120 8256 subi
r24,lo8(-(-2146))
296 0122 9840 sbci
r25,hi8(-(-2146))
297 0124 873C cpi
r24,199
298 0126 9105 cpc
r25,__zero_reg__
299 0128 00F4 brsh
.L33
300 012a 40E0 ldi
r20,lo8(-32768)
301 012c 50E8 ldi
r21,hi8(-32768)
302
.LVL15:
303 012e 00C0 rjmp
.L35
304
.LVL16:
305
.L33:
306
.LM48:
307 0130 2955 subi
r18,lo8(-(-13401))
308 0132 3443 sbci
r19,hi8(-(-13401))
309 0134 2F5A subi
r18,lo8(1199)
310 0136 3440 sbci
r19,hi8(1199)
311 0138 00F4 brsh
.L43
312
.LM49:
313 013a 1092 0000 sts bitcnt,__zero_reg__
314
.LM50:
315 013e 1092 0000 sts
(user_code)+1,__zero_reg__
316 0142 1092 0000 sts user_code,__zero_reg__
317
.LM51:
318 0146 1092 0000 sts
(operate_code)+1,__zero_reg__
319 014a 1092 0000 sts
operate_code,__zero_reg__
320 014e 00C0 rjmp
.L43
321
.L31:
322
.LM52:
323 0150 40E0 ldi
r20,lo8(0)
324 0152 50E0 ldi
r21,hi8(0)
325
.LVL17:
326
.L35:
327
.LM53:
328 0154 2091 0000 lds r18,bitcnt
329
.LVL18:
330 0158 2F5F subi
r18,lo8(-(1))
331 015a 2093 0000 sts bitcnt,r18
332
.LM54:
333 015e 2131 cpi
r18,lo8(17)
334 0160 00F4 brsh
.L38
335
.LM55:
336 0162 8091 0000 lds r24,user_code
337 0166 9091 0000 lds r25,(user_code)+1
338 016a 9695 lsr
r25
339 016c 8795 ror
r24
340 016e 842B or
r24,r20
341 0170 952B or
r25,r21
342 0172 9093 0000 sts (user_code)+1,r25
343 0176 8093 0000 sts user_code,r24
344 017a 00C0 rjmp
.L43
345
.L38:
346
.LM56:
347 017c 2132 cpi
r18,lo8(33)
348 017e 00F4 brsh
.L40
349
.LM57:
350 0180 8091 0000 lds r24,operate_code
351 0184 9091 0000 lds r25,(operate_code)+1
352 0188 9695 lsr
r25
353 018a 8795 ror
r24
354 018c 842B or
r24,r20
355 018e 952B or
r25,r21
356 0190 9093 0000 sts (operate_code)+1,r25
357 0194 8093 0000 sts operate_code,r24
358
.L40:
359
.LM58:
360 0198 2032 cpi
r18,lo8(32)
361 019a 01F4 brne
.L43
362
.LM59:
363 019c 81E0 ldi
r24,lo8(1)
364 019e 8093 0000 sts
ir_rx_complete_flag,r24
365
.LVL19:
366
.L43:
367
/* epilogue: frame size=0 */
368 01a2 9F91 pop
r25
369 01a4 8F91 pop
r24
370 01a6 5F91 pop
r21
371 01a8 4F91 pop
r20
372 01aa 3F91 pop
r19
373 01ac 2F91 pop
r18
374 01ae 0F90 pop
__tmp_reg__
375 01b0 0FBE out
__SREG__,__tmp_reg__
376 01b2 0F90 pop
__tmp_reg__
377 01b4 1F90 pop
__zero_reg__
378 01b6 1895
reti
379
/* epilogue end (size=11) */
380
/* function __vector_5 size 99 (77) */
381
.LFE13:
383
.global main
385
main:
386
.LFB15:
387
.LM60:
388
/* prologue: frame size=0 */
389
/* prologue end (size=0) */
390
.LM61:
391 01b8 1FBC out
79-0x20,__zero_reg__
392
.LM62:
393 01ba 82E8 ldi
r24,lo8(-126)
394 01bc 8EBD out
78-0x20,r24
395
.LM63:
396 01be 80E2 ldi
r24,lo8(32)
397 01c0 89BF out
89-0x20,r24
398
.LM64:
399 01c2 85B3 in
r24,53-0x20
400 01c4 8E61 ori
r24,lo8(30)
401 01c6 85BB out
53-0x20,r24
402
.LM65:
403 01c8 84B3 in
r24,52-0x20
404 01ca 8E61 ori
r24,lo8(30)
405 01cc 84BB out
52-0x20,r24
406
.LM66:
407 01ce 0E94 0000 call ht1621_int
408
.LM67:
409
/* #APP */
410 01d2 7894
sei
411
/* #NOAPP */
412
.LBB2:
413
.LM68:
414 01d4 8091 0000 lds r24,user_code
415 01d8 9091 0000 lds r25,(user_code)+1
416 01dc FC01 movw
r30,r24
417 01de EF2F mov
r30,r31
418 01e0 FF27 clr
r31
419 01e2 E295 swap
r30
420 01e4 EF70 andi
r30,0x0f
421 01e6 E050 subi
r30,lo8(-(lcd7_code))
422 01e8 F040 sbci
r31,hi8(-(lcd7_code))
423
/* #APP */
424 01ea E491 lpm
r30, Z
425
426
.LVL20:
427
/* #NOAPP */
428
.LBE2:
429 01ec E093 0000 sts lcd_dis_buf+10,r30
430
.LBB3:
431
.LM69:
432 01f0 E92F mov
r30,r25
433 01f2 FF27 clr
r31
434
.LVL21:
435 01f4 EF70 andi
r30,lo8(15)
436 01f6 F070 andi
r31,hi8(15)
437 01f8 E050 subi
r30,lo8(-(lcd7_code))
438 01fa F040 sbci
r31,hi8(-(lcd7_code))
439
/* #APP */
440 01fc E491 lpm
r30, Z
441
442
.LVL22:
443
/* #NOAPP */
444
.LBE3:
445 01fe E093 0000 sts lcd_dis_buf+9,r30
446
.LBB4:
447
.LM70:
448 0202 FC01 movw
r30,r24
449
.LVL23:
450 0204 F070 andi
r31,hi8(255)
451 0206 74E0 ldi
r23,4
452 0208 F695 1: lsr
r31
453 020a E795 ror
r30
454 020c 7A95 dec
r23
455 020e 01F4 brne
1b
456 0210 E050 subi
r30,lo8(-(lcd7_code))
457 0212 F040 sbci
r31,hi8(-(lcd7_code))
458
/* #APP */
459 0214 E491 lpm
r30, Z
460
461
.LVL24:
462
/* #NOAPP */
463
.LBE4:
464 0216 E093 0000 sts lcd_dis_buf+8,r30
465
.LBB5:
466
.LM71:
467 021a 8F70 andi
r24,lo8(15)
468 021c 9070 andi
r25,hi8(15)
469 021e 8050 subi
r24,lo8(-(lcd7_code))
470 0220 9040 sbci
r25,hi8(-(lcd7_code))
471 0222 FC01 movw
r30,r24
472
.LVL25:
473
/* #APP */
474 0224 8491 lpm
r24, Z
475
476
.LVL26:
477
/* #NOAPP */
478
.LBE5:
479 0226 8093 0000 sts lcd_dis_buf+7,r24
480
.LBB6:
481
.LM72:
482 022a 8091 0000 lds r24,operate_code
483 022e 9091 0000 lds r25,(operate_code)+1
484
.LVL27:
485 0232 FC01 movw
r30,r24
486 0234 EF2F mov
r30,r31
487 0236 FF27 clr
r31
488 0238 E295 swap
r30
489 023a EF70 andi
r30,0x0f
490 023c E050 subi
r30,lo8(-(lcd7_code))
491 023e F040 sbci
r31,hi8(-(lcd7_code))
492
/* #APP */
493 0240 E491 lpm
r30, Z
494
495
.LVL28:
496
/* #NOAPP */
497
.LBE6:
498 0242 E093 0000 sts lcd_dis_buf+4,r30
499
.LBB7:
500
.LM73:
501 0246 E92F mov
r30,r25
502 0248 FF27 clr
r31
503
.LVL29:
504 024a EF70 andi
r30,lo8(15)
505 024c F070 andi
r31,hi8(15)
506 024e E050 subi
r30,lo8(-(lcd7_code))
507 0250 F040 sbci
r31,hi8(-(lcd7_code))
508
/* #APP */
509 0252 E491 lpm
r30, Z
510
511
.LVL30:
512
/* #NOAPP */
513
.LBE7:
514 0254 E093 0000 sts lcd_dis_buf+3,r30
515
.LBB8:
516
.LM74:
517 0258 FC01 movw
r30,r24
518
.LVL31:
519 025a F070 andi
r31,hi8(255)
520 025c 44E0 ldi
r20,4
521 025e F695 1: lsr
r31
522 0260 E795 ror
r30
523 0262 4A95 dec
r20
524 0264 01F4 brne
1b
525 0266 E050 subi
r30,lo8(-(lcd7_code))
526 0268 F040 sbci
r31,hi8(-(lcd7_code))
527
/* #APP */
528 026a E491 lpm
r30, Z
529
530
.LVL32:
531
/* #NOAPP */
532
.LBE8:
533 026c E093 0000 sts lcd_dis_buf+2,r30
534
.LBB9:
535
.LM75:
536 0270 8F70 andi
r24,lo8(15)
537 0272 9070 andi
r25,hi8(15)
538 0274 8050 subi
r24,lo8(-(lcd7_code))
539 0276 9040 sbci
r25,hi8(-(lcd7_code))
540 0278 FC01 movw
r30,r24
541
.LVL33:
542
/* #APP */
543 027a 8491 lpm
r24, Z
544
545
.LVL34:
546
/* #NOAPP */
547
.LBE9:
548 027c 8093 0000 sts lcd_dis_buf+1,r24
549
.L45:
550
.LM76:
551 0280 8091 0000 lds
r24,ir_rx_complete_flag
552
.LVL35:
553 0284 8130 cpi
r24,lo8(1)
554 0286 01F0 breq
.+2
555 0288 00C0 rjmp
.L46
556
.LBB10:
557
.LM77:
558 028a 8091 0000 lds r24,user_code
559 028e 9091 0000 lds r25,(user_code)+1
560 0292 FC01 movw
r30,r24
561 0294 EF2F mov
r30,r31
562 0296 FF27 clr
r31
563 0298 E295 swap
r30
564 029a EF70 andi
r30,0x0f
565 029c E050 subi
r30,lo8(-(lcd7_code))
566 029e F040 sbci
r31,hi8(-(lcd7_code))
567
/* #APP */
568 02a0 E491 lpm
r30, Z
569
570
.LVL36:
571
/* #NOAPP */
572
.LBE10:
573 02a2 E093 0000 sts lcd_dis_buf+10,r30
574
.LBB11:
575
.LM78:
576 02a6 E92F mov
r30,r25
577 02a8 FF27 clr
r31
578
.LVL37:
579 02aa EF70 andi
r30,lo8(15)
580 02ac F070 andi
r31,hi8(15)
581 02ae E050 subi
r30,lo8(-(lcd7_code))
582 02b0 F040 sbci
r31,hi8(-(lcd7_code))
583
/* #APP */
584 02b2 E491 lpm
r30, Z
585
586
.LVL38:
587
/* #NOAPP */
588
.LBE11:
589 02b4 E093 0000 sts lcd_dis_buf+9,r30
590
.LBB12:
591
.LM79:
592 02b8 FC01 movw
r30,r24
593
.LVL39:
594 02ba F070 andi
r31,hi8(255)
595 02bc B4E0 ldi
r27,4
596 02be F695 1: lsr
r31
597 02c0 E795 ror
r30
598 02c2 BA95 dec
r27
599 02c4 01F4 brne
1b
600 02c6 E050 subi
r30,lo8(-(lcd7_code))
601 02c8 F040 sbci
r31,hi8(-(lcd7_code))
602
/* #APP */
603 02ca E491 lpm
r30, Z
604
605
.LVL40:
606
/* #NOAPP */
607
.LBE12:
608 02cc E093 0000 sts lcd_dis_buf+8,r30
609
.LBB13:
610
.LM80:
611 02d0 8F70 andi
r24,lo8(15)
612 02d2 9070 andi
r25,hi8(15)
613 02d4 8050 subi
r24,lo8(-(lcd7_code))
614 02d6 9040 sbci
r25,hi8(-(lcd7_code))
615 02d8 FC01 movw
r30,r24
616
.LVL41:
617
/* #APP */
618 02da 8491 lpm
r24, Z
619
620
.LVL42:
621
/* #NOAPP */
622
.LBE13:
623 02dc 8093 0000 sts lcd_dis_buf+7,r24
624
.LBB14:
625
.LM81:
626 02e0 8091 0000 lds r24,operate_code
627 02e4 9091 0000 lds r25,(operate_code)+1
628
.LVL43:
629 02e8 FC01 movw
r30,r24
630 02ea EF2F mov
r30,r31
631 02ec FF27 clr
r31
632 02ee E295 swap
r30
633 02f0 EF70 andi
r30,0x0f
634 02f2 E050 subi
r30,lo8(-(lcd7_code))
635 02f4 F040 sbci
r31,hi8(-(lcd7_code))
636
/* #APP */
637 02f6 E491 lpm
r30, Z
638
639
.LVL44:
640
/* #NOAPP */
641
.LBE14:
642 02f8 E093 0000 sts lcd_dis_buf+4,r30
643
.LBB15:
644
.LM82:
645 02fc E92F mov
r30,r25
646 02fe FF27 clr
r31
647
.LVL45:
648 0300 EF70 andi
r30,lo8(15)
649 0302 F070 andi
r31,hi8(15)
650 0304 E050 subi
r30,lo8(-(lcd7_code))
651 0306 F040 sbci
r31,hi8(-(lcd7_code))
652
/* #APP */
653 0308 E491 lpm
r30, Z
654
655
.LVL46:
656
/* #NOAPP */
657
.LBE15:
658 030a E093 0000 sts lcd_dis_buf+3,r30
659
.LBB16:
660
.LM83:
661 030e FC01 movw
r30,r24
662
.LVL47:
663 0310 F070 andi
r31,hi8(255)
664 0312 74E0 ldi
r23,4
665 0314 F695 1: lsr
r31
666 0316 E795 ror
r30
667 0318 7A95 dec
r23
668 031a 01F4 brne
1b
669 031c E050 subi
r30,lo8(-(lcd7_code))
670 031e F040 sbci
r31,hi8(-(lcd7_code))
671
/* #APP */
672 0320 E491 lpm
r30, Z
673
674
.LVL48:
675
/* #NOAPP */
676
.LBE16:
677 0322 E093 0000 sts lcd_dis_buf+2,r30
678
.LBB17:
679
.LM84:
680 0326 8F70 andi
r24,lo8(15)
681 0328 9070 andi
r25,hi8(15)
682 032a 8050 subi
r24,lo8(-(lcd7_code))
683 032c 9040 sbci
r25,hi8(-(lcd7_code))
684 032e FC01 movw
r30,r24
685
.LVL49:
686
/* #APP */
687 0330 8491 lpm
r24, Z
688
689
.LVL50:
690
/* #NOAPP */
691
.LBE17:
692 0332 8093 0000 sts lcd_dis_buf+1,r24
693
.LM85:
694 0336 1092 0000 sts
ir_rx_complete_flag,__zero_reg__
695
.L46:
696
.LM86:
697 033a 40E1 ldi
r20,lo8(16)
698 033c 60E0 ldi
r22,lo8(0)
699 033e 80E0 ldi
r24,lo8(lcd_dis_buf)
700 0340 90E0 ldi
r25,hi8(lcd_dis_buf)
701
.LVL51:
702 0342 0E94 0000 call ht1621_write_string
703 0346 00C0 rjmp
.L45
704
/* epilogue: frame size=0 */
705
/* epilogue: noreturn */
706
/* epilogue end (size=0) */
707
/* function main size 253 (253) */
708
.LFE15:
710
.global delay_nus
712
delay_nus:
713
.LFB12:
714
.LM87:
715
/* prologue: frame size=0 */
716
/* prologue end (size=0) */
717
.LVL52:
718 0348 9C01 movw
r18,r24
719 034a E2E0 ldi
r30,lo8(2)
720 034c F0E0 ldi
r31,hi8(2)
721 034e 00C0 rjmp
.L50
722
.LVL53:
723
.L51:
724
.LBB20:
725
.LBB21:
726
.LM88:
727 0350 CF01 movw
r24,r30
728
.LVL54:
729
/* #APP */
730 0352 0197 1:
sbiw r24,1
731 0354 01F4 brne
1b
732
.LVL55:
733
/* #NOAPP */
734
.L50:
735
.LBE21:
736
.LBE20:
737
.LM89:
738 0356 2150 subi
r18,lo8(-(-1))
739 0358 3040 sbci
r19,hi8(-(-1))
740 035a 8FEF ldi
r24,hi8(-1)
741 035c 2F3F cpi
r18,lo8(-1)
742 035e 3807 cpc
r19,r24
743
.LVL56:
744 0360 01F4 brne
.L51
745
/* epilogue: frame size=0 */
746 0362 0895
ret
747
/* epilogue end (size=1) */
748
/* function delay_nus size 16 (15) */
749
.LFE12:
751
.global __vector_1
753
__vector_1:
754
.LFB14:
755
.LM90:
756
/* prologue: frame size=0 */
757 0364 1F92 push
__zero_reg__
758 0366 0F92 push
__tmp_reg__
759 0368 0FB6 in
__tmp_reg__,__SREG__
760 036a 0F92 push
__tmp_reg__
761 036c 1124 clr
__zero_reg__
762 036e 2F93 push
r18
763 0370 3F93 push
r19
764 0372 4F93 push
r20
765 0374 5F93 push
r21
766 0376 8F93 push
r24
767 0378 9F93 push
r25
768 037a EF93 push
r30
769 037c FF93 push
r31
770
/* prologue end (size=13) */
771 037e 20E0 ldi
r18,lo8(0)
772
.LVL57:
773 0380 E8EC ldi
r30,lo8(200)
774 0382 F0E0 ldi
r31,hi8(200)
775 0384 00C0 rjmp
.L55
776
.LVL58:
777
.L56:
778
.LBB30:
779
.LBB31:
780
.LM91:
781 0386 CF01 movw
r24,r30
782
/* #APP */
783 0388 0197 1:
sbiw r24,1
784 038a 01F4 brne
1b
785
/* #NOAPP */
786
.LBE31:
787
.LBE30:
788
.LM92:
789 038c 2F5F subi
r18,lo8(-(1))
790
.L55:
791
.LM93:
792 038e 829B sbis
48-0x20,2
793 0390 00C0 rjmp
.L56
794
.LM94:
795 0392 2035 cpi
r18,lo8(80)
796 0394 00F4 brsh
.+2
797 0396 00C0 rjmp
.L81
798
.LM95:
799 0398 20E0 ldi
r18,lo8(0)
800
.LVL59:
801 039a E8EC ldi
r30,lo8(200)
802 039c F0E0 ldi
r31,hi8(200)
803 039e 00C0 rjmp
.L60
804
.LVL60:
805
.L61:
806
.LBB32:
807
.LBB33:
808
.LM96:
809 03a0 CF01 movw
r24,r30
810
.LVL61:
811
/* #APP */
812 03a2 0197 1:
sbiw r24,1
813 03a4 01F4 brne
1b
814
/* #NOAPP */
815
.LBE33:
816
.LBE32:
817
.LM97:
818 03a6 2F5F subi
r18,lo8(-(1))
819
.LVL62:
820
.L60:
821
.LM98:
822 03a8 8299 sbic
48-0x20,2
823 03aa 00C0 rjmp
.L61
824
.LM99:
825 03ac 2E31 cpi
r18,lo8(30)
826 03ae 00F4 brsh
.+2
827 03b0 00C0 rjmp
.L81
828
.LM100:
829 03b2 2832 cpi
r18,lo8(40)
830 03b4 00F4 brsh
.+2
831 03b6 00C0 rjmp
.L81
832
.LM101:
833 03b8 2091 0000 lds r18,user_code
834 03bc 3091 0000 lds r19,(user_code)+1
835
.LVL63:
836 03c0 5FE0 ldi
r21,lo8(15)
837
.LVL64:
838
.LVL65:
839
.L92:
840
.LM102:
841 03c2 829B sbis
48-0x20,2
842 03c4 00C0 rjmp
.L92
843 03c6 40E0 ldi
r20,lo8(0)
844 03c8 E8EC ldi
r30,lo8(200)
845 03ca F0E0 ldi
r31,hi8(200)
846 03cc 00C0 rjmp
.L67
847
.LVL66:
848
.L68:
849
.LBB34:
850
.LBB35:
851
.LM103:
852 03ce CF01 movw
r24,r30
853
.LVL67:
854
/* #APP */
855 03d0 0197 1:
sbiw r24,1
856 03d2 01F4 brne
1b
857
/* #NOAPP */
858
.LBE35:
859
.LBE34:
860
.LM104:
861 03d4 4F5F subi
r20,lo8(-(1))
862
.LVL68:
863
.L67:
864
.LM105:
865 03d6 8299 sbic
48-0x20,2
866 03d8 00C0 rjmp
.L68
867
.LM106:
868 03da 3695 lsr
r19
869 03dc 2795 ror
r18
870
.LVL69:
871
.LM107:
872 03de 4930 cpi
r20,lo8(9)
873 03e0 00F0 brlo
.L70
874
.LM108:
875 03e2 3068 ori
r19,hi8(-32768)
876
.L70:
877
.LM109:
878 03e4 5150 subi
r21,lo8(-(-1))
879 03e6 57FF sbrs
r21,7
880 03e8 00C0 rjmp
.L92
881 03ea 3093 0000 sts (user_code)+1,r19
882 03ee 2093 0000 sts user_code,r18
883 03f2 2091 0000 lds r18,operate_code
884 03f6 3091 0000 lds r19,(operate_code)+1
885 03fa 5FE0 ldi
r21,lo8(15)
886
.LVL70:
887
.LVL71:
888
.L93:
889
.LM110:
890 03fc 829B sbis
48-0x20,2
891 03fe 00C0 rjmp
.L93
892 0400 40E0 ldi
r20,lo8(0)
893
.LVL72:
894 0402 E8EC ldi
r30,lo8(200)
895 0404 F0E0 ldi
r31,hi8(200)
896 0406 00C0 rjmp
.L75
897
.L76:
898
.LBB36:
899
.LBB37:
900
.LM111:
901 0408 CF01 movw
r24,r30
902
/* #APP */
903 040a 0197 1:
sbiw r24,1
904 040c 01F4 brne
1b
905
/* #NOAPP */
906
.LBE37:
907
.LBE36:
908
.LM112:
909 040e 4F5F subi
r20,lo8(-(1))
910
.L75:
911
.LM113:
912 0410 8299 sbic
48-0x20,2
913 0412 00C0 rjmp
.L76
914
.LM114:
915 0414 3695 lsr
r19
916 0416 2795 ror
r18
917
.LM115:
918 0418 4930 cpi
r20,lo8(9)
919 041a 00F0 brlo
.L78
920
.LM116:
921 041c 3068 ori
r19,hi8(-32768)
922
.L78:
923
.LM117:
924 041e 5150 subi
r21,lo8(-(-1))
925 0420 57FF sbrs
r21,7
926 0422 00C0 rjmp
.L93
927 0424 3093 0000 sts (operate_code)+1,r19
928 0428 2093 0000 sts operate_code,r18
929
.LM118:
930 042c 81E0 ldi
r24,lo8(1)
931
.LVL73:
932 042e 8093 0000 sts
ir_rx_complete_flag,r24
933
.LVL74:
934
.L81:
935
/* epilogue: frame size=0 */
936 0432 FF91 pop
r31
937 0434 EF91 pop
r30
938 0436 9F91 pop
r25
939 0438 8F91 pop
r24
940 043a 5F91 pop
r21
941 043c 4F91 pop
r20
942 043e 3F91 pop
r19
943 0440 2F91 pop
r18
944 0442 0F90 pop
__tmp_reg__
945 0444 0FBE out
__SREG__,__tmp_reg__
946 0446 0F90 pop
__tmp_reg__
947 0448 1F90 pop
__zero_reg__
948 044a 1895
reti
949
/* epilogue end (size=13) */
950
/* function __vector_1 size 124 (98) */
951
.LFE14:
953
.global lcd_dis_buf
954
.global lcd_dis_buf
955
.section .bss
958
lcd_dis_buf:
959 0000 0000 0000 .skip 16,0
959 0000 0000
959 0000 0000
959 0000 0000
960
.global capt_vect_cnt
961
.global capt_vect_cnt
964
capt_vect_cnt:
965 0010 00
.skip 1,0
966
.global ir_rx_data_flag
967
.global ir_rx_data_flag
970
ir_rx_data_flag:
971 0011 00
.skip 1,0
972
.global ir_rx_complete_flag
973
.global ir_rx_complete_flag
976
ir_rx_complete_flag:
977 0012 00
.skip 1,0
978
.global bitcnt
979
.global bitcnt
982
bitcnt:
983 0013 00
.skip 1,0
984
.global user_code
985
.global user_code
988
user_code:
989 0014 0000 .skip
2,0
990
.global operate_code
991
.global operate_code
994
operate_code:
995 0016 0000 .skip
2,0
996
.global lcd7_code
997
.section .progmem.data,"a",@progbits
1000
lcd7_code:
1001 0000 F5
.byte -11
1002 0001 05
.byte 5
1003 0002 B6
.byte -74
1004 0003 97
.byte -105
1005 0004 47
.byte 71
1006 0005 D3
.byte -45
1007 0006 F3
.byte -13
1008 0007 85
.byte -123
1009 0008 F7
.byte -9
1010 0009 D7
.byte -41
1011 000a E7
.byte -25
1012 000b 73
.byte 115
1013 000c F0
.byte -16
1014 000d 37
.byte 55
1015 000e F2
.byte -14
1016 000f E2
.byte -30
1017 0010 70
.byte 112
1018 0011 67
.byte 103
1019 0012 E0
.byte -32
1020 0013 23
.byte 35
1021
.comm ir_plus,66,1
1107
.Letext0:
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:3
*ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:4
*ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:5
*ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:6
*ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:7
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:20
.text:00000000 ht1621_send_bit_h
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:59
.text:0000001c ht1621_send_bit_l
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:98
.text:00000038 ht1621_send_cmd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:128
.text:00000054 ht1621_write_byte
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:171
.text:00000086 ht1621_write_string
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:238
.text:000000da ht1621_int
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:263
.text:000000f4 __vector_5
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:982
.bss:00000013 bitcnt
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:988
.bss:00000014 user_code
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:994
.bss:00000016 operate_code
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:976
.bss:00000012 ir_rx_complete_flag
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:385
.text:000001b8 main
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:1000
.progmem.data:00000000 lcd7_code
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:958
.bss:00000000 lcd_dis_buf
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:712
.text:00000348 delay_nus
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:753
.text:00000364 __vector_1
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:964
.bss:00000010 capt_vect_cnt
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8uaaaa.s:970
.bss:00000011 ir_rx_data_flag
*COM*:00000042 ir_plus
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
台湾合泰(Holtek)中国区技术支持电话,上海盛扬:021-64855560,深圳盛扬: 0755-83465589,北京盛扬: 010-66410030 成都盛扬:028-66536590