📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000001dc 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 000001dc 00000270 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00800060 000001dc 00000270 2**0
ALLOC
3 .noinit 00000000 00800060 00800060 00000270 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000270 2**0
CONTENTS
5 .stab 000004bc 00000000 00000000 00000270 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 0000057b 00000000 00000000 0000072c 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26
2: 2b c0 rjmp .+86 ; 0x5a
4: 2a c0 rjmp .+84 ; 0x5a
6: 29 c0 rjmp .+82 ; 0x5a
8: 28 c0 rjmp .+80 ; 0x5a
a: 27 c0 rjmp .+78 ; 0x5a
c: 26 c0 rjmp .+76 ; 0x5a
e: 25 c0 rjmp .+74 ; 0x5a
10: 24 c0 rjmp .+72 ; 0x5a
12: 23 c0 rjmp .+70 ; 0x5a
14: 22 c0 rjmp .+68 ; 0x5a
16: 21 c0 rjmp .+66 ; 0x5a
18: 20 c0 rjmp .+64 ; 0x5a
1a: 1f c0 rjmp .+62 ; 0x5a
1c: 1e c0 rjmp .+60 ; 0x5a
1e: 1d c0 rjmp .+58 ; 0x5a
20: 1c c0 rjmp .+56 ; 0x5a
22: 1b c0 rjmp .+54 ; 0x5a
24: 1a c0 rjmp .+52 ; 0x5a
00000026 <__ctors_end>:
26: 11 24 eor r1, r1
28: 1f be out 0x3f, r1 ; 63
2a: cf e5 ldi r28, 0x5F ; 95
2c: d4 e0 ldi r29, 0x04 ; 4
2e: de bf out 0x3e, r29 ; 62
30: cd bf out 0x3d, r28 ; 61
00000032 <__do_copy_data>:
32: 10 e0 ldi r17, 0x00 ; 0
34: a0 e6 ldi r26, 0x60 ; 96
36: b0 e0 ldi r27, 0x00 ; 0
38: ec ed ldi r30, 0xDC ; 220
3a: f1 e0 ldi r31, 0x01 ; 1
3c: 02 c0 rjmp .+4 ; 0x42
0000003e <.do_copy_data_loop>:
3e: 05 90 lpm r0, Z+
40: 0d 92 st X+, r0
00000042 <.do_copy_data_start>:
42: a0 36 cpi r26, 0x60 ; 96
44: b1 07 cpc r27, r17
46: d9 f7 brne .-10 ; 0x3e
00000048 <__do_clear_bss>:
48: 10 e0 ldi r17, 0x00 ; 0
4a: a0 e6 ldi r26, 0x60 ; 96
4c: b0 e0 ldi r27, 0x00 ; 0
4e: 01 c0 rjmp .+2 ; 0x52
00000050 <.do_clear_bss_loop>:
50: 1d 92 st X+, r1
00000052 <.do_clear_bss_start>:
52: a0 36 cpi r26, 0x60 ; 96
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50
58: 41 c0 rjmp .+130 ; 0xdc
0000005a <__bad_interrupt>:
5a: d2 cf rjmp .-92 ; 0x0
0000005c <delay>:
//宏定义
#define uchar unsigned char
#define uint unsigned int
void delay(int x)
{ int xx=100;
while(x-->0)
while(xx-->0);
}
5c: cf 93 push r28
5e: df 93 push r29
60: cd b7 in r28, 0x3d ; 61
62: de b7 in r29, 0x3e ; 62
64: 24 97 sbiw r28, 0x04 ; 4
66: 0f b6 in r0, 0x3f ; 63
68: f8 94 cli
6a: de bf out 0x3e, r29 ; 62
6c: 0f be out 0x3f, r0 ; 63
6e: cd bf out 0x3d, r28 ; 61
70: 89 83 std Y+1, r24 ; 0x01
72: 9a 83 std Y+2, r25 ; 0x02
74: 84 e6 ldi r24, 0x64 ; 100
76: 90 e0 ldi r25, 0x00 ; 0
78: 8b 83 std Y+3, r24 ; 0x03
7a: 9c 83 std Y+4, r25 ; 0x04
//SPI初始化
7c: 89 81 ldd r24, Y+1 ; 0x01
7e: 9a 81 ldd r25, Y+2 ; 0x02
80: 9c 01 movw r18, r24
82: 01 97 sbiw r24, 0x01 ; 1
84: 89 83 std Y+1, r24 ; 0x01
86: 9a 83 std Y+2, r25 ; 0x02
88: 12 16 cp r1, r18
8a: 13 06 cpc r1, r19
8c: 64 f4 brge .+24 ; 0xa6
void spi_init(void)
8e: fe 01 movw r30, r28
90: 33 96 adiw r30, 0x03 ; 3
92: 80 81 ld r24, Z
94: 91 81 ldd r25, Z+1 ; 0x01
96: 9c 01 movw r18, r24
98: 01 97 sbiw r24, 0x01 ; 1
9a: 80 83 st Z, r24
9c: 91 83 std Z+1, r25 ; 0x01
9e: 12 16 cp r1, r18
a0: 13 06 cpc r1, r19
a2: 64 f7 brge .-40 ; 0x7c
a4: f4 cf rjmp .-24 ; 0x8e
a6: 24 96 adiw r28, 0x04 ; 4
a8: 0f b6 in r0, 0x3f ; 63
aa: f8 94 cli
ac: de bf out 0x3e, r29 ; 62
ae: 0f be out 0x3f, r0 ; 63
b0: cd bf out 0x3d, r28 ; 61
b2: df 91 pop r29
b4: cf 91 pop r28
b6: 08 95 ret
000000b8 <spi_init>:
{
//OSCCAL=0x9d; // 8M系统内部时钟校准
DDRB|=0Xf8;
SPSR =_BV(SPI2X); // 设置SPI时钟倍速
SPCR =_BV(SPE) |_BV(MSTR); // 使能SPI接口,主机模式,4M时钟 0X50
b8: cf 93 push r28
ba: df 93 push r29
bc: cd b7 in r28, 0x3d ; 61
be: de b7 in r29, 0x3e ; 62
}
c0: 80 91 37 00 lds r24, 0x0037
c4: 88 6f ori r24, 0xF8 ; 248
c6: 80 93 37 00 sts 0x0037, r24
ca: 81 e0 ldi r24, 0x01 ; 1
cc: 80 93 2e 00 sts 0x002E, r24
int main()
d0: 80 e5 ldi r24, 0x50 ; 80
d2: 80 93 2d 00 sts 0x002D, r24
d6: df 91 pop r29
d8: cf 91 pop r28
da: 08 95 ret
000000dc <main>:
{
spi_init();
DDRC=0XFF;
PORTC=0XFF;
uchar jtd1,jtd2,jtd_row,init_jtd1=0xfe,init_jtd2=0xff;
int jtd_x=0;
while(1)
{
//0x0f 0xff空 0xf0 0xff黄 0xff 0xf0 红 0xff 0x0f 绿
SPDR=0xff;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
SPDR=0xff;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
SPDR=jtd1;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
SPDR=jtd2;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
PORTB&=~_BV(PB6);//锁存595数据
PORTB|=_BV(PB6);
PORTB&=~_BV(PB6);
delay(20);
jtd_row++;
jtd1=(jtd1<<1)|0x01;
jtd2=(jtd2<<1)|0x01;
if(jtd_row>=4)
{
jtd_row=0;
jtd1=init_jtd1;
jtd2=init_jtd2;
jtd_x++;
}
if(jtd_x==200)
{
init_jtd1=0xff;
init_jtd2=0xfe;
}
if(jtd_x==400)
{
init_jtd1=0xff;
init_jtd2=0xef;
}
if(jtd_x==600)
{
init_jtd1=0xfe;
init_jtd2=0xff;
jtd_x=0;
}
}
}
/*
_delay_ms(1000);
_delay_ms(1000);
_delay_ms(1000);
_delay_ms(1000);
*/
/*
SPDR=0xff;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
SPDR=0xff;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
SPDR=0xff;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
SPDR=0xf0;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
PORTB&=~_BV(PB6);//锁存595数据
PORTB|=_BV(PB6);
PORTB&=~_BV(PB6);
delay(1000);
PORTC=0X00;
SPDR=0xff;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
SPDR=0xff;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
delay(1000);
SPDR=0xf0;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
SPDR=0xff;
while((SPSR&0x80)==0); //等待数据传送完毕,置一
PORTB&=~_BV(PB6);//锁存595数据
PORTB|=_BV(PB6);
PORTB&=~_BV(PB6);
delay(1000);
PORTC=0Xff;
}
// TCNT0=00;///////////////////////////////////////////////////////
// delay(1);
}
/**/ dc: c8 e5 ldi r28, 0x58 ; 88
de: d4 e0 ldi r29, 0x04 ; 4
e0: de bf out 0x3e, r29 ; 62
e2: cd bf out 0x3d, r28 ; 61
e4: e9 df rcall .-46 ; 0xb8
e6: 8f ef ldi r24, 0xFF ; 255
e8: 80 93 34 00 sts 0x0034, r24
ec: 8f ef ldi r24, 0xFF ; 255
ee: 80 93 35 00 sts 0x0035, r24
f2: 8e ef ldi r24, 0xFE ; 254
f4: 8c 83 std Y+4, r24 ; 0x04
f6: 8f ef ldi r24, 0xFF ; 255
f8: 8d 83 std Y+5, r24 ; 0x05
fa: 1e 82 std Y+6, r1 ; 0x06
fc: 1f 82 std Y+7, r1 ; 0x07
fe: 8f ef ldi r24, 0xFF ; 255
100: 80 93 2f 00 sts 0x002F, r24
104: 80 91 2e 00 lds r24, 0x002E
108: 88 23 and r24, r24
10a: 0c f0 brlt .+2 ; 0x10e
10c: fb cf rjmp .-10 ; 0x104
10e: 8f ef ldi r24, 0xFF ; 255
110: 80 93 2f 00 sts 0x002F, r24
114: 80 91 2e 00 lds r24, 0x002E
118: 88 23 and r24, r24
11a: 0c f0 brlt .+2 ; 0x11e
11c: fb cf rjmp .-10 ; 0x114
11e: 89 81 ldd r24, Y+1 ; 0x01
120: 80 93 2f 00 sts 0x002F, r24
124: 80 91 2e 00 lds r24, 0x002E
128: 88 23 and r24, r24
12a: 0c f0 brlt .+2 ; 0x12e
12c: fb cf rjmp .-10 ; 0x124
12e: 8a 81 ldd r24, Y+2 ; 0x02
130: 80 93 2f 00 sts 0x002F, r24
134: 80 91 2e 00 lds r24, 0x002E
138: 88 23 and r24, r24
13a: 0c f0 brlt .+2 ; 0x13e
13c: fb cf rjmp .-10 ; 0x134
13e: 80 91 38 00 lds r24, 0x0038
142: 8f 7b andi r24, 0xBF ; 191
144: 80 93 38 00 sts 0x0038, r24
148: 80 91 38 00 lds r24, 0x0038
14c: 80 64 ori r24, 0x40 ; 64
14e: 80 93 38 00 sts 0x0038, r24
152: 80 91 38 00 lds r24, 0x0038
156: 8f 7b andi r24, 0xBF ; 191
158: 80 93 38 00 sts 0x0038, r24
15c: 84 e1 ldi r24, 0x14 ; 20
15e: 90 e0 ldi r25, 0x00 ; 0
160: 7d df rcall .-262 ; 0x5c
162: 8b 81 ldd r24, Y+3 ; 0x03
164: 8f 5f subi r24, 0xFF ; 255
166: 8b 83 std Y+3, r24 ; 0x03
168: 89 81 ldd r24, Y+1 ; 0x01
16a: 99 27 eor r25, r25
16c: 88 0f add r24, r24
16e: 99 1f adc r25, r25
170: 81 60 ori r24, 0x01 ; 1
172: 89 83 std Y+1, r24 ; 0x01
174: 8a 81 ldd r24, Y+2 ; 0x02
176: 99 27 eor r25, r25
178: 88 0f add r24, r24
17a: 99 1f adc r25, r25
17c: 81 60 ori r24, 0x01 ; 1
17e: 8a 83 std Y+2, r24 ; 0x02
180: 8b 81 ldd r24, Y+3 ; 0x03
182: 84 30 cpi r24, 0x04 ; 4
184: 50 f0 brcs .+20 ; 0x19a
186: 1b 82 std Y+3, r1 ; 0x03
188: 8c 81 ldd r24, Y+4 ; 0x04
18a: 89 83 std Y+1, r24 ; 0x01
18c: 8d 81 ldd r24, Y+5 ; 0x05
18e: 8a 83 std Y+2, r24 ; 0x02
190: 8e 81 ldd r24, Y+6 ; 0x06
192: 9f 81 ldd r25, Y+7 ; 0x07
194: 01 96 adiw r24, 0x01 ; 1
196: 8e 83 std Y+6, r24 ; 0x06
198: 9f 83 std Y+7, r25 ; 0x07
19a: 8e 81 ldd r24, Y+6 ; 0x06
19c: 9f 81 ldd r25, Y+7 ; 0x07
19e: 88 3c cpi r24, 0xC8 ; 200
1a0: 91 05 cpc r25, r1
1a2: 21 f4 brne .+8 ; 0x1ac
1a4: 8f ef ldi r24, 0xFF ; 255
1a6: 8c 83 std Y+4, r24 ; 0x04
1a8: 8e ef ldi r24, 0xFE ; 254
1aa: 8d 83 std Y+5, r24 ; 0x05
1ac: 8e 81 ldd r24, Y+6 ; 0x06
1ae: 9f 81 ldd r25, Y+7 ; 0x07
1b0: 21 e0 ldi r18, 0x01 ; 1
1b2: 80 39 cpi r24, 0x90 ; 144
1b4: 92 07 cpc r25, r18
1b6: 21 f4 brne .+8 ; 0x1c0
1b8: 8f ef ldi r24, 0xFF ; 255
1ba: 8c 83 std Y+4, r24 ; 0x04
1bc: 8f ee ldi r24, 0xEF ; 239
1be: 8d 83 std Y+5, r24 ; 0x05
1c0: 8e 81 ldd r24, Y+6 ; 0x06
1c2: 9f 81 ldd r25, Y+7 ; 0x07
1c4: 22 e0 ldi r18, 0x02 ; 2
1c6: 88 35 cpi r24, 0x58 ; 88
1c8: 92 07 cpc r25, r18
1ca: 09 f0 breq .+2 ; 0x1ce
1cc: 98 cf rjmp .-208 ; 0xfe
1ce: 8e ef ldi r24, 0xFE ; 254
1d0: 8c 83 std Y+4, r24 ; 0x04
1d2: 8f ef ldi r24, 0xFF ; 255
1d4: 8d 83 std Y+5, r24 ; 0x05
1d6: 1e 82 std Y+6, r1 ; 0x06
1d8: 1f 82 std Y+7, r1 ; 0x07
1da: 91 cf rjmp .-222 ; 0xfe
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -