📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000010 00800100 00000198 0000022c 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00000198 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000000 00800110 000001a8 0000023c 2**0
ALLOC
3 .noinit 00000000 00800110 00800110 0000023c 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 0000023c 2**0
CONTENTS
5 .stab 00000408 00000000 00000000 0000023c 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 00000644 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000014 00000000 00000000 000006c8 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 00000029 00000000 00000000 000006dc 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 00000179 00000000 00000000 00000705 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 000000ea 00000000 00000000 0000087e 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 00000162 00000000 00000000 00000968 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 000000b0 00000000 00000000 00000aca 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c <__ctors_end>
4: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
8: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
10: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
14: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
18: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
1c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
20: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
24: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
28: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
2c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
30: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
34: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
38: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
3c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
40: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
44: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
48: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
4c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
50: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
54: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
58: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
5c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
60: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
64: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
68: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
6c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
70: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
74: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
78: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
7c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
80: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
84: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
88: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
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: e8 e9 ldi r30, 0x98 ; 152
a0: f1 e0 ldi r31, 0x01 ; 1
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac <__do_copy_data+0x14>
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
ac: a0 31 cpi r26, 0x10 ; 16
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8 <__do_copy_data+0x10>
000000b2 <__do_clear_bss>:
b2: 11 e0 ldi r17, 0x01 ; 1
b4: a0 e1 ldi r26, 0x10 ; 16
b6: b1 e0 ldi r27, 0x01 ; 1
b8: 01 c0 rjmp .+2 ; 0xbc <.do_clear_bss_start>
000000ba <.do_clear_bss_loop>:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a0 31 cpi r26, 0x10 ; 16
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop>
c2: 0c 94 65 00 jmp 0xca <main>
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0x0 <__vectors>
000000ca <main>:
#include <avr/interrupt.h>
#include <avr/delay.h>
const unsigned char seg_table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void main (void)
{unsigned char i;
ca: cf ef ldi r28, 0xFF ; 255
cc: d0 e1 ldi r29, 0x10 ; 16
ce: de bf out 0x3e, r29 ; 62
d0: cd bf out 0x3d, r28 ; 61
DDRA=0Xff;
d2: 2f ef ldi r18, 0xFF ; 255
d4: 2a bb out 0x1a, r18 ; 26
PORTA=0x00;
d6: 1b ba out 0x1b, r1 ; 27
DDRC=0Xf0;
d8: 90 ef ldi r25, 0xF0 ; 240
da: 94 bb out 0x14, r25 ; 20
PORTC=0xe0;
dc: 80 ee ldi r24, 0xE0 ; 224
de: 85 bb out 0x15, r24 ; 21
e0: 5f e0 ldi r21, 0x0F ; 15
e2: 49 2f mov r20, r25
e4: a4 ec ldi r26, 0xC4 ; 196
e6: b9 e0 ldi r27, 0x09 ; 9
e8: c0 e0 ldi r28, 0x00 ; 0
ea: d0 e0 ldi r29, 0x00 ; 0
do{
DDRB = 0x0f;/*获取列地址*/
ec: 57 bb out 0x17, r21 ; 23
PORTB = 0xf0;
ee: 48 bb out 0x18, r20 ; 24
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
f0: cd 01 movw r24, r26
f2: 01 97 sbiw r24, 0x01 ; 1
f4: f1 f7 brne .-4 ; 0xf2 <main+0x28>
_delay_ms(10);
i = PINB;
f6: 36 b3 in r19, 0x16 ; 22
DDRB = 0xf0;/*获取行地址*/
f8: 47 bb out 0x17, r20 ; 23
PORTB = 0x0f;
fa: 58 bb out 0x18, r21 ; 24
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
fc: cd 01 movw r24, r26
fe: 01 97 sbiw r24, 0x01 ; 1
100: f1 f7 brne .-4 ; 0xfe <main+0x34>
_delay_ms(10);
i |= PINB;
102: 86 b3 in r24, 0x16 ; 22
104: 38 2b or r19, r24
DDRD=0Xff;
106: 21 bb out 0x11, r18 ; 17
PORTD=i;
108: 32 bb out 0x12, r19 ; 18
DDRA=0Xff;
10a: 2a bb out 0x1a, r18 ; 26
if (i==0xee) PORTA=seg_table[0];
10c: 3e 3e cpi r19, 0xEE ; 238
10e: 11 f4 brne .+4 ; 0x114 <main+0x4a>
110: 80 ec ldi r24, 0xC0 ; 192
112: 3b c0 rjmp .+118 ; 0x18a <main+0xc0>
if (i==0xde) PORTA=seg_table[1];
114: 3e 3d cpi r19, 0xDE ; 222
116: 11 f4 brne .+4 ; 0x11c <main+0x52>
118: 89 ef ldi r24, 0xF9 ; 249
11a: 37 c0 rjmp .+110 ; 0x18a <main+0xc0>
if (i==0xbe) PORTA=seg_table[2];
11c: 3e 3b cpi r19, 0xBE ; 190
11e: 11 f4 brne .+4 ; 0x124 <main+0x5a>
120: 84 ea ldi r24, 0xA4 ; 164
122: 33 c0 rjmp .+102 ; 0x18a <main+0xc0>
if (i==0x7e) PORTA=seg_table[3];
124: 3e 37 cpi r19, 0x7E ; 126
126: 11 f4 brne .+4 ; 0x12c <main+0x62>
128: 80 eb ldi r24, 0xB0 ; 176
12a: 2f c0 rjmp .+94 ; 0x18a <main+0xc0>
if (i==0xed) PORTA=seg_table[4];
12c: 3d 3e cpi r19, 0xED ; 237
12e: 11 f4 brne .+4 ; 0x134 <main+0x6a>
130: 89 e9 ldi r24, 0x99 ; 153
132: 2b c0 rjmp .+86 ; 0x18a <main+0xc0>
if (i==0xdd) PORTA=seg_table[5];
134: 3d 3d cpi r19, 0xDD ; 221
136: 11 f4 brne .+4 ; 0x13c <main+0x72>
138: 82 e9 ldi r24, 0x92 ; 146
13a: 27 c0 rjmp .+78 ; 0x18a <main+0xc0>
if (i==0xbd) PORTA=seg_table[6];
13c: 3d 3b cpi r19, 0xBD ; 189
13e: 11 f4 brne .+4 ; 0x144 <main+0x7a>
140: 82 e8 ldi r24, 0x82 ; 130
142: 23 c0 rjmp .+70 ; 0x18a <main+0xc0>
if (i==0x7d) PORTA=seg_table[7];
144: 3d 37 cpi r19, 0x7D ; 125
146: 11 f4 brne .+4 ; 0x14c <main+0x82>
148: 88 ef ldi r24, 0xF8 ; 248
14a: 1f c0 rjmp .+62 ; 0x18a <main+0xc0>
if (i==0xeb) PORTA=seg_table[8];
14c: 3b 3e cpi r19, 0xEB ; 235
14e: 11 f4 brne .+4 ; 0x154 <main+0x8a>
150: 80 e8 ldi r24, 0x80 ; 128
152: 1b c0 rjmp .+54 ; 0x18a <main+0xc0>
if (i==0xdb) PORTA=seg_table[9];
154: 3b 3d cpi r19, 0xDB ; 219
156: 11 f4 brne .+4 ; 0x15c <main+0x92>
158: 80 e9 ldi r24, 0x90 ; 144
15a: 17 c0 rjmp .+46 ; 0x18a <main+0xc0>
if (i==0xbb) PORTA=seg_table[10];
15c: 3b 3b cpi r19, 0xBB ; 187
15e: 11 f4 brne .+4 ; 0x164 <main+0x9a>
160: 88 e8 ldi r24, 0x88 ; 136
162: 13 c0 rjmp .+38 ; 0x18a <main+0xc0>
if (i==0x7b) PORTA=seg_table[11];
164: 3b 37 cpi r19, 0x7B ; 123
166: 11 f4 brne .+4 ; 0x16c <main+0xa2>
168: 83 e8 ldi r24, 0x83 ; 131
16a: 0f c0 rjmp .+30 ; 0x18a <main+0xc0>
if (i==0xe7) PORTA=seg_table[12];
16c: 37 3e cpi r19, 0xE7 ; 231
16e: 11 f4 brne .+4 ; 0x174 <main+0xaa>
170: 86 ec ldi r24, 0xC6 ; 198
172: 0b c0 rjmp .+22 ; 0x18a <main+0xc0>
if (i==0xd7) PORTA=seg_table[13];
174: 37 3d cpi r19, 0xD7 ; 215
176: 11 f4 brne .+4 ; 0x17c <main+0xb2>
178: 81 ea ldi r24, 0xA1 ; 161
17a: 07 c0 rjmp .+14 ; 0x18a <main+0xc0>
if (i==0xb7) PORTA=seg_table[14];
17c: 37 3b cpi r19, 0xB7 ; 183
17e: 11 f4 brne .+4 ; 0x184 <main+0xba>
180: 86 e8 ldi r24, 0x86 ; 134
182: 03 c0 rjmp .+6 ; 0x18a <main+0xc0>
if (i==0x77) PORTA=seg_table[15];
184: 37 37 cpi r19, 0x77 ; 119
186: 19 f4 brne .+6 ; 0x18e <main+0xc4>
188: 8e e8 ldi r24, 0x8E ; 142
18a: 8b bb out 0x1b, r24 ; 27
18c: af cf rjmp .-162 ; 0xec <main+0x22>
if (i==0xff) PORTA=0x00;
18e: 3f 3f cpi r19, 0xFF ; 255
190: 09 f0 breq .+2 ; 0x194 <main+0xca>
192: ac cf rjmp .-168 ; 0xec <main+0x22>
194: 1b ba out 0x1b, r1 ; 27
} while(1);
196: aa cf rjmp .-172 ; 0xec <main+0x22>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -