📄 main.lss
字号:
1d6: 90 e0 ldi r25, 0x00 ; 0
1d8: 14 c0 rjmp .+40 ; 0x202
LCD_set_xy(X,Y);
1da: 60 91 ee 00 lds r22, 0x00EE
1de: 80 91 ef 00 lds r24, 0x00EF
1e2: 0e 94 8e 00 call 0x11c
LCD_write_char(0,c);
1e6: 8c 2f mov r24, r28
1e8: 99 27 eor r25, r25
1ea: bc 01 movw r22, r24
1ec: 80 e0 ldi r24, 0x00 ; 0
1ee: 90 e0 ldi r25, 0x00 ; 0
1f0: 0e 94 4d 00 call 0x9a
X++;//左移一格
1f4: 80 91 ef 00 lds r24, 0x00EF
1f8: 8f 5f subi r24, 0xFF ; 255
1fa: 80 93 ef 00 sts 0x00EF, r24
return 0;
1fe: 80 e0 ldi r24, 0x00 ; 0
200: 90 e0 ldi r25, 0x00 ; 0
202: cf 91 pop r28
204: 08 95 ret
00000206 <init_timer1_icp>:
int once_time;
void init_timer1_icp(void)
{
TCCR1B|=(1<<CS11)|(1<<CS10)|(1<<ICNC1); //分频比64,可调
206: 8e b5 in r24, 0x2e ; 46
208: 83 68 ori r24, 0x83 ; 131
20a: 8e bd out 0x2e, r24 ; 46
TIFR=1<<ICF1; //清除没有执行的中断
20c: 80 e2 ldi r24, 0x20 ; 32
20e: 88 bf out 0x38, r24 ; 56
TIMSK=1<<TICIE1;
210: 89 bf out 0x39, r24 ; 57
DDRB=0xFF;
212: 8f ef ldi r24, 0xFF ; 255
214: 87 bb out 0x17, r24 ; 23
DDRD&=~(1<<PD6);
216: 8e 98 cbi 0x11, 6 ; 17
PORTD|=1<<PD6;
218: 96 9a sbi 0x12, 6 ; 18
21a: 08 95 ret
0000021c <__vector_5>:
}
SIGNAL(SIG_INPUT_CAPTURE1)
{
21c: 1f 92 push r1
21e: 0f 92 push r0
220: 0f b6 in r0, 0x3f ; 63
222: 0f 92 push r0
224: 11 24 eor r1, r1
226: 2f 93 push r18
228: 3f 93 push r19
22a: 4f 93 push r20
22c: 5f 93 push r21
22e: 6f 93 push r22
230: 7f 93 push r23
232: 8f 93 push r24
234: 9f 93 push r25
236: af 93 push r26
238: bf 93 push r27
23a: ef 93 push r30
23c: ff 93 push r31
once_time=ICR1/16;
23e: 86 b5 in r24, 0x26 ; 38
240: 97 b5 in r25, 0x27 ; 39
242: 92 95 swap r25
244: 82 95 swap r24
246: 8f 70 andi r24, 0x0F ; 15
248: 89 27 eor r24, r25
24a: 9f 70 andi r25, 0x0F ; 15
24c: 89 27 eor r24, r25
24e: 90 93 f1 00 sts 0x00F1, r25
252: 80 93 f0 00 sts 0x00F0, r24
TCNT1=0;
256: 1d bc out 0x2d, r1 ; 45
258: 1c bc out 0x2c, r1 ; 44
printf("\n\v\v%5d\n",once_time*8);
25a: 88 0f add r24, r24
25c: 99 1f adc r25, r25
25e: 88 0f add r24, r24
260: 99 1f adc r25, r25
262: 88 0f add r24, r24
264: 99 1f adc r25, r25
266: 9f 93 push r25
268: 8f 93 push r24
26a: 80 e6 ldi r24, 0x60 ; 96
26c: 90 e0 ldi r25, 0x00 ; 0
26e: 9f 93 push r25
270: 8f 93 push r24
272: 0e 94 03 02 call 0x406
276: 0f 90 pop r0
278: 0f 90 pop r0
27a: 0f 90 pop r0
27c: 0f 90 pop r0
27e: ff 91 pop r31
280: ef 91 pop r30
282: bf 91 pop r27
284: af 91 pop r26
286: 9f 91 pop r25
288: 8f 91 pop r24
28a: 7f 91 pop r23
28c: 6f 91 pop r22
28e: 5f 91 pop r21
290: 4f 91 pop r20
292: 3f 91 pop r19
294: 2f 91 pop r18
296: 0f 90 pop r0
298: 0f be out 0x3f, r0 ; 63
29a: 0f 90 pop r0
29c: 1f 90 pop r1
29e: 18 95 reti
000002a0 <main>:
}
int main(void)
{
2a0: cf e5 ldi r28, 0x5F ; 95
2a2: d4 e0 ldi r29, 0x04 ; 4
2a4: de bf out 0x3e, r29 ; 62
2a6: cd bf out 0x3d, r28 ; 61
char i;
fdevopen(LCD_putc,0,0);//将printf()输出函数重定向于LCD_putc()
2a8: 40 e0 ldi r20, 0x00 ; 0
2aa: 50 e0 ldi r21, 0x00 ; 0
2ac: ba 01 movw r22, r20
2ae: 8a ec ldi r24, 0xCA ; 202
2b0: 90 e0 ldi r25, 0x00 ; 0
2b2: 0e 94 ba 01 call 0x374
LCD_POWER_PORT|=(LCD_VCC);
2b6: a8 9a sbi 0x15, 0 ; 21
LCD_POWER_PORT&=(~LCD_GND);
2b8: aa 98 cbi 0x15, 2 ; 21
LCD_POWER_DDR|=(LCD_VCC|LCD_GND);
2ba: 84 b3 in r24, 0x14 ; 20
2bc: 85 60 ori r24, 0x05 ; 5
2be: 84 bb out 0x14, r24 ; 20
__ticks = 1;
else if (__tmp > 65535)
__ticks = 0; /* i.e. 65536 */
else
__ticks = (uint16_t)__tmp;
2c0: 80 e3 ldi r24, 0x30 ; 48
2c2: 95 e7 ldi r25, 0x75 ; 117
2c4: 01 97 sbiw r24, 0x01 ; 1
2c6: f1 f7 brne .-4 ; 0x2c4
_delay_ms(15);
LCD_DATA_DDR|=LCD_DATA;
2c8: 81 b3 in r24, 0x11 ; 17
2ca: 8f 60 ori r24, 0x0F ; 15
2cc: 81 bb out 0x11, r24 ; 17
LCD_CROL_DDR|=LCD_RS|LCD_EN|LCD_RW;
2ce: 84 b3 in r24, 0x14 ; 20
2d0: 8e 60 ori r24, 0x0E ; 14
2d2: 84 bb out 0x14, r24 ; 20
LCD_init();
2d4: 0e 94 9c 00 call 0x138
LCD_write_char(0x01,0);
2d8: 60 e0 ldi r22, 0x00 ; 0
2da: 70 e0 ldi r23, 0x00 ; 0
2dc: 81 e0 ldi r24, 0x01 ; 1
2de: 90 e0 ldi r25, 0x00 ; 0
2e0: 0e 94 4d 00 call 0x9a
__ticks = 1;
else if (__tmp > 65535)
__ticks = 0; /* i.e. 65536 */
else
__ticks = (uint16_t)__tmp;
2e4: 80 ea ldi r24, 0xA0 ; 160
2e6: 9f e0 ldi r25, 0x0F ; 15
2e8: 01 97 sbiw r24, 0x01 ; 1
2ea: f1 f7 brne .-4 ; 0x2e8
_delay_ms(2);
printf("Wellcome\n");
2ec: 88 e6 ldi r24, 0x68 ; 104
2ee: 90 e0 ldi r25, 0x00 ; 0
2f0: 0e 94 18 02 call 0x430
printf("www.OURAVR.com!\n");
2f4: 81 e7 ldi r24, 0x71 ; 113
2f6: 90 e0 ldi r25, 0x00 ; 0
2f8: 0e 94 18 02 call 0x430
2fc: e0 e0 ldi r30, 0x00 ; 0
2fe: f0 e0 ldi r31, 0x00 ; 0
300: 21 e3 ldi r18, 0x31 ; 49
*/
static __inline__ void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
302: cf 01 movw r24, r30
304: 01 97 sbiw r24, 0x01 ; 1
306: f1 f7 brne .-4 ; 0x304
for(i=0;i<50;i++)
308: 21 50 subi r18, 0x01 ; 1
30a: 27 ff sbrs r18, 7
30c: fa cf rjmp .-12 ; 0x302
_delay_ms(100);
printf("Happy every day!\n");
30e: 81 e8 ldi r24, 0x81 ; 129
310: 90 e0 ldi r25, 0x00 ; 0
312: 0e 94 18 02 call 0x430
printf("Forever friend! \n");
316: 82 e9 ldi r24, 0x92 ; 146
318: 90 e0 ldi r25, 0x00 ; 0
31a: 0e 94 18 02 call 0x430
31e: e0 e0 ldi r30, 0x00 ; 0
320: f0 e0 ldi r31, 0x00 ; 0
322: 21 e3 ldi r18, 0x31 ; 49
*/
static __inline__ void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
324: cf 01 movw r24, r30
326: 01 97 sbiw r24, 0x01 ; 1
328: f1 f7 brne .-4 ; 0x326
for(i=0;i<50;i++)
32a: 21 50 subi r18, 0x01 ; 1
32c: 27 ff sbrs r18, 7
32e: fa cf rjmp .-12 ; 0x324
_delay_ms(100);
printf("Redstone:Support\n");
330: 83 ea ldi r24, 0xA3 ; 163
332: 90 e0 ldi r25, 0x00 ; 0
334: 0e 94 18 02 call 0x430
printf("OURAVR Forever! \n");
338: 84 eb ldi r24, 0xB4 ; 180
33a: 90 e0 ldi r25, 0x00 ; 0
33c: 0e 94 18 02 call 0x430
340: e0 e0 ldi r30, 0x00 ; 0
342: f0 e0 ldi r31, 0x00 ; 0
344: 21 e3 ldi r18, 0x31 ; 49
*/
static __inline__ void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
346: cf 01 movw r24, r30
348: 01 97 sbiw r24, 0x01 ; 1
34a: f1 f7 brne .-4 ; 0x348
for(i=0;i<50;i++)
34c: 21 50 subi r18, 0x01 ; 1
34e: 27 ff sbrs r18, 7
350: fa cf rjmp .-12 ; 0x346
_delay_ms(100);
printf("The Cycle Is: \n");
352: 85 ec ldi r24, 0xC5 ; 197
354: 90 e0 ldi r25, 0x00 ; 0
356: 0e 94 18 02 call 0x430
printf("T= us \n");
35a: 86 ed ldi r24, 0xD6 ; 214
35c: 90 e0 ldi r25, 0x00 ; 0
35e: 0e 94 18 02 call 0x430
SREG|=1<<SREG_I;
362: 8f b7 in r24, 0x3f ; 63
364: 80 68 ori r24, 0x80 ; 128
366: 8f bf out 0x3f, r24 ; 63
init_timer1_icp();
368: 0e 94 03 01 call 0x206
}
36c: 80 e0 ldi r24, 0x00 ; 0
36e: 90 e0 ldi r25, 0x00 ; 0
370: 0c 94 f5 06 jmp 0xdea
00000374 <fdevopen>:
374: 0f 93 push r16
376: 1f 93 push r17
378: cf 93 push r28
37a: df 93 push r29
37c: 8c 01 movw r16, r24
37e: eb 01 movw r28, r22
380: 00 97 sbiw r24, 0x00 ; 0
382: a1 f1 breq .+104 ; 0x3ec
384: 6c e0 ldi r22, 0x0C ; 12
386: 70 e0 ldi r23, 0x00 ; 0
388: 81 e0 ldi r24, 0x01 ; 1
38a: 90 e0 ldi r25, 0x00 ; 0
38c: 0e 94 4d 05 call 0xa9a
390: fc 01 movw r30, r24
392: 89 2b or r24, r25
394: 21 f1 breq .+72 ; 0x3de
396: 20 97 sbiw r28, 0x00 ; 0
398: 51 f0 breq .+20 ; 0x3ae
39a: c2 87 std Z+10, r28 ; 0x0a
39c: d3 87 std Z+11, r29 ; 0x0b
39e: 21 e0 ldi r18, 0x01 ; 1
3a0: 23 83 std Z+3, r18 ; 0x03
3a2: 80 91 f2 00 lds r24, 0x00F2
3a6: 90 91 f3 00 lds r25, 0x00F3
3aa: 89 2b or r24, r25
3ac: d1 f0 breq .+52 ; 0x3e2
3ae: 01 15 cp r16, r1
3b0: 11 05 cpc r17, r1
3b2: a9 f0 breq .+42 ; 0x3de
3b4: 00 87 std Z+8, r16 ; 0x08
3b6: 11 87 std Z+9, r17 ; 0x09
3b8: 03 81 ldd r16, Z+3 ; 0x03
3ba: 02 60 ori r16, 0x02 ; 2
3bc: 03 83 std Z+3, r16 ; 0x03
3be: a0 91 f4 00 lds r26, 0x00F4
3c2: b0 91 f5 00 lds r27, 0x00F5
3c6: ab 2b or r26, r27
3c8: 51 f4 brne .+20 ; 0x3de
3ca: f0 93 f5 00 sts 0x00F5, r31
3ce: e0 93 f4 00 sts 0x00F4, r30
3d2: c0 91 f6 00 lds r28, 0x00F6
3d6: d0 91 f7 00 lds r29, 0x00F7
3da: cd 2b or r28, r29
3dc: 51 f0 breq .+20 ; 0x3f2
3de: cf 01 movw r24, r30
3e0: 0d c0 rjmp .+26 ; 0x3fc
3e2: f0 93 f3 00 sts 0x00F3, r31
3e6: e0 93 f2 00 sts 0x00F2, r30
3ea: e1 cf rjmp .-62 ; 0x3ae
3ec: 67 2b or r22, r23
3ee: 51 f6 brne .-108 ; 0x384
3f0: 05 c0 rjmp .+10 ; 0x3fc
3f2: f0 93 f7 00 sts 0x00F7, r31
3f6: e0 93 f6 00 sts 0x00F6, r30
3fa: f1 cf rjmp .-30 ; 0x3de
3fc: df 91 pop r29
3fe: cf 91 pop r28
400: 1f 91 pop r17
402: 0f 91 pop r16
404: 08 95 ret
00000406 <printf>:
406: cf 93 push r28
408: df 93 push r29
40a: cd b7 in r28, 0x3d ; 61
40c: de b7 in r29, 0x3e ; 62
40e: e5 e0 ldi r30, 0x05 ; 5
410: f0 e0 ldi r31, 0x00 ; 0
412: ec 0f add r30, r28
414: fd 1f adc r31, r29
416: 81 91 ld r24, Z+
418: 91 91 ld r25, Z+
41a: af 01 movw r20, r30
41c: bc 01 movw r22, r24
41e: 80 91 f4 00 lds r24, 0x00F4
422: 90 91 f5 00 lds r25, 0x00F5
426: 0e 94 50 02 call 0x4a0
42a: df 91 pop r29
42c: cf 91 pop r28
42e: 08 95 ret
00000430 <puts>:
430: 0f 93 push r16
432: 1f 93 push r17
434: cf 93 push r28
436: df 93 push r29
438: dc 01 movw r26, r24
43a: 00 e0 ldi r16, 0x00 ; 0
43c: 10 e0 ldi r17, 0x00 ; 0
43e: e0 91 f4 00 lds r30, 0x00F4
442: f0 91 f5 00 lds r31, 0x00F5
446: 83 81 ldd r24, Z+3 ; 0x03
448: 81 ff sbrs r24, 1
44a: 23 c0 rjmp .+70 ; 0x492
44c: 8d 91 ld r24, X+
44e: ed 01 movw r28, r26
450: 88 23 and r24, r24
452: 29 f4 brne .+10 ; 0x45e
454: 13 c0 rjmp .+38 ; 0x47c
456: e0 91 f4 00 lds r30, 0x00F4
45a: f0 91 f5 00 lds r31, 0x00F5
45e: 00 84 ldd r0, Z+8 ; 0x08
460: f1 85 ldd r31, Z+9 ; 0x09
462: e0 2d mov r30, r0
464: 09 95 icall
466: 89 2b or r24, r25
468: 11 f0 breq .+4 ; 0x46e
46a: 0f ef ldi r16, 0xFF ; 255
46c: 1f ef ldi r17, 0xFF ; 255
46e: 89 91 ld r24, Y+
470: 88 23 and r24, r24
472: 89 f7 brne .-30 ; 0x456
474: e0 91 f4 00 lds r30, 0x00F4
478: f0 91 f5 00 lds r31, 0x00F5
47c: 00 84 ldd r0, Z+8 ; 0x08
47e: f1 85 ldd r31, Z+9 ; 0x09
480: e0 2d mov r30, r0
482: 8a e0 ldi r24, 0x0A ; 10
484: 09 95 icall
486: 89 2b or r24, r25
488: 11 f0 breq .+4 ; 0x48e
48a: 0f ef ldi r16, 0xFF ; 255
48c: 1f ef ldi r17, 0xFF ; 255
48e: c8 01 movw r24, r16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -