📄 pran.lst
字号:
84:pran.c **** {
85:pran.c **** if(count != 0)
311 .LM32:
312 00a4 8091 0000 lds r24,count
313 00a8 9091 0000 lds r25,(count)+1
314 00ac 892B or r24,r25
315 00ae 01F0 breq .L8
86:pran.c **** {
87:pran.c **** timers_init();
317 .LM33:
318 00b0 00D0 rcall timers_init
88:pran.c ****
89:pran.c **** PORTA = 0x00; //As the 'start timer' button is pressed, all keys will be deactivated.
320 .LM34:
321 00b2 1BBA out 59-0x20,__zero_reg__
90:pran.c **** PORTA = 0xff;
323 .LM35:
324 00b4 8FEF ldi r24,lo8(-1)
325 00b6 8BBB out 59-0x20,r24
91:pran.c **** PORTD = 0x0;
327 .LM36:
328 00b8 12BA out 50-0x20,__zero_reg__
92:pran.c **** DDRD = 0xff;
330 .LM37:
331 00ba 81BB out 49-0x20,r24
332 .L8:
93:pran.c **** }
94:pran.c **** }
95:pran.c ****
96:pran.c **** if(led == 247) //if switch to 'increase buzzer delay' is pressed, PORTA3 (pin no. 37)
334 .LM38:
335 00bc C73F cpi r28,247
336 00be D105 cpc r29,__zero_reg__
337 00c0 01F4 brne .L10
97:pran.c **** {
98:pran.c **** if(buzzer_setting != 2) {
339 .LM39:
340 00c2 8091 0000 lds r24,buzzer_setting
341 00c6 9091 0000 lds r25,(buzzer_setting)+1
342 00ca 8230 cpi r24,2
343 00cc 9105 cpc r25,__zero_reg__
344 00ce 01F0 breq .L11
99:pran.c **** buzzer_setting++;
346 .LM40:
347 00d0 0196 adiw r24,1
348 00d2 9093 0000 sts (buzzer_setting)+1,r25
349 00d6 8093 0000 sts buzzer_setting,r24
100:pran.c **** temp(buzzer_setting);
351 .LM41:
352 00da 00D0 rcall temp
353 .L11:
101:pran.c **** }
102:pran.c **** sei();
355 .LM42:
356 /* #APP */
357 00dc 7894 sei
103:pran.c **** PORTA = 0xff;
359 .LM43:
360 /* #NOAPP */
361 00de 8FEF ldi r24,lo8(-1)
362 00e0 8BBB out 59-0x20,r24
363 .L10:
104:pran.c **** }
105:pran.c ****
106:pran.c **** if(led == 239) //if switch to 'decrease buzzer delay' is pressed, PORTA4 (pin no. 36)
365 .LM44:
366 00e2 CF3E cpi r28,239
367 00e4 D105 cpc r29,__zero_reg__
368 00e6 01F4 brne .L3
107:pran.c **** {
108:pran.c **** if(buzzer_setting != 0) {
370 .LM45:
371 00e8 8091 0000 lds r24,buzzer_setting
372 00ec 9091 0000 lds r25,(buzzer_setting)+1
373 00f0 0097 sbiw r24,0
374 00f2 01F0 breq .L13
109:pran.c **** buzzer_setting--;
376 .LM46:
377 00f4 0197 sbiw r24,1
378 00f6 9093 0000 sts (buzzer_setting)+1,r25
379 00fa 8093 0000 sts buzzer_setting,r24
110:pran.c **** temp(buzzer_setting);
381 .LM47:
382 00fe 00D0 rcall temp
383 .L13:
111:pran.c **** }
112:pran.c **** sei();
385 .LM48:
386 /* #APP */
387 0100 7894 sei
113:pran.c **** PORTA = 0xff;
389 .LM49:
390 /* #NOAPP */
391 0102 8FEF ldi r24,lo8(-1)
392 0104 8BBB out 59-0x20,r24
114:pran.c **** }
115:pran.c **** }
394 .LM50:
395 .L3:
396 .LBE2:
397 /* epilogue: frame size=0 */
398 0106 FF91 pop r31
399 0108 EF91 pop r30
400 010a DF91 pop r29
401 010c CF91 pop r28
402 010e BF91 pop r27
403 0110 AF91 pop r26
404 0112 9F91 pop r25
405 0114 8F91 pop r24
406 0116 7F91 pop r23
407 0118 6F91 pop r22
408 011a 5F91 pop r21
409 011c 4F91 pop r20
410 011e 3F91 pop r19
411 0120 2F91 pop r18
412 0122 0F90 pop __tmp_reg__
413 0124 0FBE out __SREG__,__tmp_reg__
414 0126 0F90 pop __tmp_reg__
415 0128 1F90 pop __zero_reg__
416 012a 1895 reti
417 /* epilogue end (size=19) */
418 /* function __vector_1 size 138 (100) */
423 .Lscope2:
427 .global temp
429 temp:
116:pran.c ****
117:pran.c **** void temp(int te) {
431 .LM51:
432 /* prologue: frame size=0 */
433 /* prologue end (size=0) */
118:pran.c ****
119:pran.c **** if(te == 0) {
435 .LM52:
436 012c 0097 sbiw r24,0
437 012e 01F4 brne .L15
120:pran.c **** PORTB = 0x01;
439 .LM53:
440 0130 81E0 ldi r24,lo8(1)
441 0132 88BB out 56-0x20,r24
121:pran.c **** offtime = 3;
443 .LM54:
444 0134 83E0 ldi r24,lo8(3)
445 0136 90E0 ldi r25,hi8(3)
446 0138 00C0 rjmp .L20
122:pran.c **** offtimetemp = 3;
448 .LM55:
449 .L15:
123:pran.c **** }
124:pran.c ****
125:pran.c **** else if(te == 1) {
451 .LM56:
452 013a 8130 cpi r24,1
453 013c 9105 cpc r25,__zero_reg__
454 013e 01F4 brne .L17
126:pran.c **** PORTB = 0x02;
456 .LM57:
457 0140 82E0 ldi r24,lo8(2)
458 0142 88BB out 56-0x20,r24
127:pran.c **** offtime = 4;
460 .LM58:
461 0144 84E0 ldi r24,lo8(4)
462 0146 90E0 ldi r25,hi8(4)
463 .L20:
464 0148 9093 0000 sts (offtime)+1,r25
465 014c 8093 0000 sts offtime,r24
128:pran.c **** offtimetemp = 4;
467 .LM59:
468 0150 9093 0000 sts (offtimetemp)+1,r25
469 0154 8093 0000 sts offtimetemp,r24
129:pran.c **** }
130:pran.c ****
131:pran.c **** else if(te == 2) {
132:pran.c **** PORTB = 0x04;
133:pran.c **** offtime = 5;
134:pran.c **** offtimetemp = 5;
135:pran.c **** }
136:pran.c **** }
471 .LM60:
472 0158 0895 ret
473 .L17:
475 .LM61:
476 015a 0297 sbiw r24,2
477 015c 01F4 brne .L14
479 .LM62:
480 015e 84E0 ldi r24,lo8(4)
481 0160 88BB out 56-0x20,r24
483 .LM63:
484 0162 85E0 ldi r24,lo8(5)
485 0164 90E0 ldi r25,hi8(5)
486 0166 9093 0000 sts (offtime)+1,r25
487 016a 8093 0000 sts offtime,r24
489 .LM64:
490 016e 9093 0000 sts (offtimetemp)+1,r25
491 0172 8093 0000 sts offtimetemp,r24
493 .LM65:
494 .L14:
495 0176 0895 ret
496 /* epilogue: frame size=0 */
497 0178 0895 ret
498 /* epilogue end (size=1) */
499 /* function temp size 40 (39) */
501 .Lscope3:
504 .global timers_init
506 timers_init:
137:pran.c ****
138:pran.c **** void timers_init(void)
139:pran.c **** {
508 .LM66:
509 /* prologue: frame size=0 */
510 /* prologue end (size=0) */
140:pran.c **** // Timer/Counter1 Clock source: T1 Falling Edge
141:pran.c **** // Timer/Counter1 Mode: Normal
142:pran.c **** // Timer/Counter1 Output: A: Disconnected, B: Disconnected //0.5 second
143:pran.c **** OCR1A = 0x1e84;
512 .LM67:
513 017a 84E8 ldi r24,lo8(7812)
514 017c 9EE1 ldi r25,hi8(7812)
515 017e 9BBD out (74)+1-0x20,r25
516 0180 8ABD out 74-0x20,r24
144:pran.c **** TCNT1 = 0xe17c;
518 .LM68:
519 0182 8CE7 ldi r24,lo8(-7812)
520 0184 91EE ldi r25,hi8(-7812)
521 0186 9DBD out (76)+1-0x20,r25
522 0188 8CBD out 76-0x20,r24
145:pran.c **** TCCR1B = 0x04;
524 .LM69:
525 018a 84E0 ldi r24,lo8(4)
526 018c 8EBD out 78-0x20,r24
146:pran.c **** TIMSK = 0x14;
528 .LM70:
529 018e 84E1 ldi r24,lo8(20)
530 0190 89BF out 89-0x20,r24
147:pran.c **** }
532 .LM71:
533 /* epilogue: frame size=0 */
534 0192 0895 ret
535 /* epilogue end (size=1) */
536 /* function timers_init size 13 (12) */
538 .Lscope4:
541 .global __vector_6
543 __vector_6:
148:pran.c ****
149:pran.c **** ISR(SIG_OUTPUT_COMPARE1A)
150:pran.c **** {
545 .LM72:
546 /* prologue: frame size=0 */
547 0194 1F92 push __zero_reg__
548 0196 0F92 push __tmp_reg__
549 0198 0FB6 in __tmp_reg__,__SREG__
550 019a 0F92 push __tmp_reg__
551 019c 1124 clr __zero_reg__
552 019e 2F93 push r18
553 01a0 3F93 push r19
554 01a2 4F93 push r20
555 01a4 5F93 push r21
556 01a6 6F93 push r22
557 01a8 7F93 push r23
558 01aa 8F93 push r24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -