📄 led_matrix2.lst
字号:
LED_MATRIX2.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000018 00800100 00000272 00000306 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00000272 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000018 00800118 00800118 0000031e 2**0
ALLOC
3 .noinit 00000000 00800130 00800130 0000031e 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 0000031e 2**0
CONTENTS
5 .debug_aranges 00000014 00000000 00000000 0000031e 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 000000b4 00000000 00000000 00000332 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 000002af 00000000 00000000 000003e6 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 000000d7 00000000 00000000 00000695 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 00000198 00000000 00000000 0000076c 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_str 000000f9 00000000 00000000 00000904 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c
4: 0c 94 63 00 jmp 0xc6
8: 0c 94 63 00 jmp 0xc6
c: 0c 94 63 00 jmp 0xc6
10: 0c 94 63 00 jmp 0xc6
14: 0c 94 63 00 jmp 0xc6
18: 0c 94 63 00 jmp 0xc6
1c: 0c 94 63 00 jmp 0xc6
20: 0c 94 63 00 jmp 0xc6
24: 0c 94 63 00 jmp 0xc6
28: 0c 94 63 00 jmp 0xc6
2c: 0c 94 63 00 jmp 0xc6
30: 0c 94 63 00 jmp 0xc6
34: 0c 94 63 00 jmp 0xc6
38: 0c 94 63 00 jmp 0xc6
3c: 0c 94 63 00 jmp 0xc6
40: 0c 94 63 00 jmp 0xc6
44: 0c 94 63 00 jmp 0xc6
48: 0c 94 63 00 jmp 0xc6
4c: 0c 94 63 00 jmp 0xc6
50: 0c 94 63 00 jmp 0xc6
54: 0c 94 63 00 jmp 0xc6
58: 0c 94 63 00 jmp 0xc6
5c: 0c 94 63 00 jmp 0xc6
60: 0c 94 63 00 jmp 0xc6
64: 0c 94 63 00 jmp 0xc6
68: 0c 94 63 00 jmp 0xc6
6c: 0c 94 63 00 jmp 0xc6
70: 0c 94 63 00 jmp 0xc6
74: 0c 94 63 00 jmp 0xc6
78: 0c 94 63 00 jmp 0xc6
7c: 0c 94 63 00 jmp 0xc6
80: 0c 94 63 00 jmp 0xc6
84: 0c 94 63 00 jmp 0xc6
88: 0c 94 63 00 jmp 0xc6
0000008c <__ctors_end>:
8c: 11 24 eor r1, r1
8e: 1f be out 0x3f, r1 ; 63
90: cf ef ldi r28, 0xFF ; 255
92: d0 e1 ldi r29, 0x10 ; 16
94: de bf out 0x3e, r29 ; 62
96: cd bf out 0x3d, r28 ; 61
00000098 <__do_copy_data>:
98: 11 e0 ldi r17, 0x01 ; 1
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: e2 e7 ldi r30, 0x72 ; 114
a0: f2 e0 ldi r31, 0x02 ; 2
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac
000000a8 <.__do_copy_data_loop>:
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
000000ac <.__do_copy_data_start>:
ac: a8 31 cpi r26, 0x18 ; 24
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8
000000b2 <__do_clear_bss>:
b2: 11 e0 ldi r17, 0x01 ; 1
b4: a8 e1 ldi r26, 0x18 ; 24
b6: b1 e0 ldi r27, 0x01 ; 1
b8: 01 c0 rjmp .+2 ; 0xbc
000000ba <.do_clear_bss_loop>:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a0 33 cpi r26, 0x30 ; 48
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba
c2: 0c 94 23 01 jmp 0x246
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0x0
000000ca <initialize_ppi>:
}
void initialize_ppi(void)
{
line=PPI_0_PA;
ca: 80 e0 ldi r24, 0x00 ; 0
cc: 90 e5 ldi r25, 0x50 ; 80
ce: 90 93 29 01 sts 0x0129, r25
d2: 80 93 28 01 sts 0x0128, r24
green=PPI_0_PB;
d6: 81 e0 ldi r24, 0x01 ; 1
d8: 90 e5 ldi r25, 0x50 ; 80
da: 90 93 2b 01 sts 0x012B, r25
de: 80 93 2a 01 sts 0x012A, r24
red=PPI_0_PC;
e2: 82 e0 ldi r24, 0x02 ; 2
e4: 90 e5 ldi r25, 0x50 ; 80
e6: 90 93 2d 01 sts 0x012D, r25
ea: 80 93 2c 01 sts 0x012C, r24
ppi_ctrl=PPI_0_CT;
ee: 83 e0 ldi r24, 0x03 ; 3
f0: 90 e5 ldi r25, 0x50 ; 80
f2: 90 93 2f 01 sts 0x012F, r25
f6: 80 93 2e 01 sts 0x012E, r24
*ppi_ctrl=0x80; //82C55的 A, B都是输出
fa: 80 e8 ldi r24, 0x80 ; 128
fc: 80 93 03 50 sts 0x5003, r24
100: 08 95 ret
00000102 <move>:
}
void move(unsigned char *move1,unsigned char i)
{
102: ac 01 movw r20, r24
unsigned char k,j;
k=0;
104: 30 e0 ldi r19, 0x00 ; 0
j=7-i;
106: 27 e0 ldi r18, 0x07 ; 7
108: 26 1b sub r18, r22
do{
font[j]=move1[k]; // 将move1的最高位字节移至font的最低位字节
10a: e2 2f mov r30, r18
10c: ff 27 eor r31, r31
10e: e0 5e subi r30, 0xE0 ; 224
110: fe 4f sbci r31, 0xFE ; 254
112: da 01 movw r26, r20
114: a3 0f add r26, r19
116: b1 1d adc r27, r1
118: 8c 91 ld r24, X
11a: 80 83 st Z, r24
j++;
11c: 2f 5f subi r18, 0xFF ; 255
k++;
11e: 3f 5f subi r19, 0xFF ; 255
}while(i--);
120: 61 50 subi r22, 0x01 ; 1
122: 98 f7 brcc .-26 ; 0x10a
124: 08 95 ret
00000126 <delay>:
126: 18 16 cp r1, r24
128: 19 06 cpc r1, r25
12a: 4c f4 brge .+18 ; 0x13e
12c: 16 16 cp r1, r22
12e: 17 06 cpc r1, r23
130: 24 f4 brge .+8 ; 0x13a
132: 9b 01 movw r18, r22
134: 21 50 subi r18, 0x01 ; 1
136: 30 40 sbci r19, 0x00 ; 0
138: e9 f7 brne .-6 ; 0x134
13a: 01 97 sbiw r24, 0x01 ; 1
13c: b9 f7 brne .-18 ; 0x12c
13e: 08 95 ret
00000140 <display>:
}
void display(unsigned char *green1,unsigned char *red1)
{
140: 6f 92 push r6
142: 7f 92 push r7
144: 8f 92 push r8
146: 9f 92 push r9
148: af 92 push r10
14a: bf 92 push r11
14c: cf 92 push r12
14e: df 92 push r13
150: ef 92 push r14
152: ff 92 push r15
154: 0f 93 push r16
156: 1f 93 push r17
158: cf 93 push r28
15a: df 93 push r29
15c: 3c 01 movw r6, r24
15e: 4b 01 movw r8, r22
unsigned char i=0,j=0;
160: cc 24 eor r12, r12
162: 91 e0 ldi r25, 0x01 ; 1
164: a9 2e mov r10, r25
166: b1 2c mov r11, r1
168: 74 01 movw r14, r8
16a: 83 01 movw r16, r6
16c: c0 e0 ldi r28, 0x00 ; 0
16e: d0 e0 ldi r29, 0x00 ; 0
170: 87 e0 ldi r24, 0x07 ; 7
172: d8 2e mov r13, r24
for(j=0;j<20;j++)
{ // 点亮一种颜色的时间
for(i=0;i<8;i++)
{ // 点亮一种画面的时间
*green=green1[i];
174: e0 91 2a 01 lds r30, 0x012A
178: f0 91 2b 01 lds r31, 0x012B
17c: d8 01 movw r26, r16
17e: 8d 91 ld r24, X+
180: 8d 01 movw r16, r26
182: 80 83 st Z, r24
*red=red1[i];
184: e0 91 2c 01 lds r30, 0x012C
188: f0 91 2d 01 lds r31, 0x012D
18c: d7 01 movw r26, r14
18e: 8d 91 ld r24, X+
190: 7d 01 movw r14, r26
192: 80 83 st Z, r24
*line=(0x01<<i);
194: e0 91 28 01 lds r30, 0x0128
198: f0 91 29 01 lds r31, 0x0129
19c: c5 01 movw r24, r10
19e: 0c 2e mov r0, r28
1a0: 02 c0 rjmp .+4 ; 0x1a6
1a2: 88 0f add r24, r24
1a4: 99 1f adc r25, r25
1a6: 0a 94 dec r0
1a8: e2 f7 brpl .-8 ; 0x1a2
1aa: 80 83 st Z, r24
delay(100,70); // 1 line on time
1ac: 66 e4 ldi r22, 0x46 ; 70
1ae: 70 e0 ldi r23, 0x00 ; 0
1b0: 84 e6 ldi r24, 0x64 ; 100
1b2: 90 e0 ldi r25, 0x00 ; 0
1b4: 0e 94 93 00 call 0x126
1b8: da 94 dec r13
1ba: 21 96 adiw r28, 0x01 ; 1
1bc: d7 fe sbrs r13, 7
1be: da cf rjmp .-76 ; 0x174
1c0: c3 94 inc r12
1c2: b3 e1 ldi r27, 0x13 ; 19
1c4: bc 15 cp r27, r12
1c6: 80 f6 brcc .-96 ; 0x168
1c8: df 91 pop r29
1ca: cf 91 pop r28
1cc: 1f 91 pop r17
1ce: 0f 91 pop r16
1d0: ff 90 pop r15
1d2: ef 90 pop r14
1d4: df 90 pop r13
1d6: cf 90 pop r12
1d8: bf 90 pop r11
1da: af 90 pop r10
1dc: 9f 90 pop r9
1de: 8f 90 pop r8
1e0: 7f 90 pop r7
1e2: 6f 90 pop r6
1e4: 08 95 ret
000001e6 <matrix>:
1e6: 0f 93 push r16
1e8: 1f 93 push r17
1ea: cf 93 push r28
1ec: 8c 01 movw r16, r24
1ee: c0 e0 ldi r28, 0x00 ; 0
1f0: 6c 2f mov r22, r28
1f2: c8 01 movw r24, r16
1f4: 0e 94 81 00 call 0x102
1f8: 60 e2 ldi r22, 0x20 ; 32
1fa: 71 e0 ldi r23, 0x01 ; 1
1fc: 88 e1 ldi r24, 0x18 ; 24
1fe: 91 e0 ldi r25, 0x01 ; 1
200: 0e 94 a0 00 call 0x140
204: cf 5f subi r28, 0xFF ; 255
206: c8 30 cpi r28, 0x08 ; 8
208: 98 f3 brcs .-26 ; 0x1f0
20a: c3 e0 ldi r28, 0x03 ; 3
20c: 60 e2 ldi r22, 0x20 ; 32
20e: 71 e0 ldi r23, 0x01 ; 1
210: cb 01 movw r24, r22
212: 0e 94 a0 00 call 0x140
216: c1 50 subi r28, 0x01 ; 1
218: c7 ff sbrs r28, 7
21a: f8 cf rjmp .-16 ; 0x20c
21c: c3 e0 ldi r28, 0x03 ; 3
21e: 68 e1 ldi r22, 0x18 ; 24
220: 71 e0 ldi r23, 0x01 ; 1
222: 80 e2 ldi r24, 0x20 ; 32
224: 91 e0 ldi r25, 0x01 ; 1
226: 0e 94 a0 00 call 0x140
22a: c1 50 subi r28, 0x01 ; 1
22c: c7 ff sbrs r28, 7
22e: f7 cf rjmp .-18 ; 0x21e
230: e0 e2 ldi r30, 0x20 ; 32
232: f1 e0 ldi r31, 0x01 ; 1
234: c7 e0 ldi r28, 0x07 ; 7
236: 11 92 st Z+, r1
238: c1 50 subi r28, 0x01 ; 1
23a: c7 ff sbrs r28, 7
23c: fc cf rjmp .-8 ; 0x236
23e: cf 91 pop r28
240: 1f 91 pop r17
242: 0f 91 pop r16
244: 08 95 ret
00000246 <main>:
246: cf ef ldi r28, 0xFF ; 255
248: d0 e1 ldi r29, 0x10 ; 16
24a: de bf out 0x3e, r29 ; 62
24c: cd bf out 0x3d, r28 ; 61
24e: 85 b7 in r24, 0x35 ; 53
250: 80 68 ori r24, 0x80 ; 128
252: 85 bf out 0x35, r24 ; 53
254: 0e 94 65 00 call 0xca
258: 80 e1 ldi r24, 0x10 ; 16
25a: 91 e0 ldi r25, 0x01 ; 1
25c: 0e 94 f3 00 call 0x1e6
260: 88 e0 ldi r24, 0x08 ; 8
262: 91 e0 ldi r25, 0x01 ; 1
264: 0e 94 f3 00 call 0x1e6
268: 80 e0 ldi r24, 0x00 ; 0
26a: 91 e0 ldi r25, 0x01 ; 1
26c: 0e 94 f3 00 call 0x1e6
270: f3 cf rjmp .-26 ; 0x258
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -