📄 main.lss
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000010 00800100 00000240 000002d4 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00000240 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000000 00800110 00000250 000002e4 2**0
ALLOC
3 .noinit 00000000 00800110 00800110 000002e4 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 000002e4 2**0
CONTENTS
5 .stab 00000408 00000000 00000000 000002e4 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 000006ec 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000014 00000000 00000000 00000770 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 00000048 00000000 00000000 00000784 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 00000126 00000000 00000000 000007cc 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 000000a0 00000000 00000000 000008f2 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 00000196 00000000 00000000 00000992 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 000000b9 00000000 00000000 00000b28 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: e0 e4 ldi r30, 0x40 ; 64
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 <__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 97 00 jmp 0x12e <main>
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0x0 <__vectors>
000000ca <display_one_smg>:
返回值 : 无
*/
void display_one_smg(uchar num,uchar pos)
{
SMG_INIT();
ca: 94 b3 in r25, 0x14 ; 20
cc: 9f ef ldi r25, 0xFF ; 255
ce: 94 bb out 0x14, r25 ; 20
d0: 91 b3 in r25, 0x11 ; 17
d2: 90 6f ori r25, 0xF0 ; 240
d4: 91 bb out 0x11, r25 ; 17
PORTD &= 0x0F;
d6: 92 b3 in r25, 0x12 ; 18
d8: 9f 70 andi r25, 0x0F ; 15
da: 92 bb out 0x12, r25 ; 18
PORTC = ~SEGMENT[num];
dc: e0 e0 ldi r30, 0x00 ; 0
de: f1 e0 ldi r31, 0x01 ; 1
e0: e8 0f add r30, r24
e2: f1 1d adc r31, r1
e4: 80 81 ld r24, Z
e6: 80 95 com r24
e8: 85 bb out 0x15, r24 ; 21
PORTD = (PORTD|(1<<(pos+4)));
ea: 86 2f mov r24, r22
ec: 99 27 eor r25, r25
ee: 04 96 adiw r24, 0x04 ; 4
f0: 21 e0 ldi r18, 0x01 ; 1
f2: 30 e0 ldi r19, 0x00 ; 0
f4: 02 c0 rjmp .+4 ; 0xfa <display_one_smg+0x30>
f6: 22 0f add r18, r18
f8: 33 1f adc r19, r19
fa: 8a 95 dec r24
fc: e2 f7 brpl .-8 ; 0xf6 <display_one_smg+0x2c>
fe: 82 b3 in r24, 0x12 ; 18
100: 82 2b or r24, r18
102: 82 bb out 0x12, r24 ; 18
104: 08 95 ret
00000106 <delay_ms>:
}
void delay_ms(uint ms)
{
uint i,j;
while(ms --)
{
for ( i = 0 ; i < 5 ; i ++)
106: 01 97 sbiw r24, 0x01 ; 1
108: 2f ef ldi r18, 0xFF ; 255
10a: 8f 3f cpi r24, 0xFF ; 255
10c: 92 07 cpc r25, r18
10e: 71 f0 breq .+28 ; 0x12c <delay_ms+0x26>
110: 40 e0 ldi r20, 0x00 ; 0
112: 50 e0 ldi r21, 0x00 ; 0
114: 2f ee ldi r18, 0xEF ; 239
116: 35 e5 ldi r19, 0x55 ; 85
{
for ( j = 0 ; j < 22000 ; j ++)
118: 22 53 subi r18, 0x32 ; 50
11a: 30 40 sbci r19, 0x00 ; 0
11c: 37 ff sbrs r19, 7
11e: fc cf rjmp .-8 ; 0x118 <delay_ms+0x12>
120: 4f 5f subi r20, 0xFF ; 255
122: 5f 4f sbci r21, 0xFF ; 255
124: 45 30 cpi r20, 0x05 ; 5
126: 51 05 cpc r21, r1
128: a8 f3 brcs .-22 ; 0x114 <delay_ms+0xe>
12a: ed cf rjmp .-38 ; 0x106 <delay_ms>
12c: 08 95 ret
0000012e <main>:
{}
}
}
}
int main(void)
{
12e: cf ef ldi r28, 0xFF ; 255
130: d0 e1 ldi r29, 0x10 ; 16
132: de bf out 0x3e, r29 ; 62
134: cd bf out 0x3d, r28 ; 61
while (1)
{
display_one_smg(1,0);
136: 60 e0 ldi r22, 0x00 ; 0
138: 81 e0 ldi r24, 0x01 ; 1
13a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
13e: 88 ee ldi r24, 0xE8 ; 232
140: 93 e0 ldi r25, 0x03 ; 3
142: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(2,1);
146: 61 e0 ldi r22, 0x01 ; 1
148: 82 e0 ldi r24, 0x02 ; 2
14a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
14e: 88 ee ldi r24, 0xE8 ; 232
150: 93 e0 ldi r25, 0x03 ; 3
152: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(3,2);
156: 62 e0 ldi r22, 0x02 ; 2
158: 83 e0 ldi r24, 0x03 ; 3
15a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
15e: 88 ee ldi r24, 0xE8 ; 232
160: 93 e0 ldi r25, 0x03 ; 3
162: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(4,3);
166: 63 e0 ldi r22, 0x03 ; 3
168: 84 e0 ldi r24, 0x04 ; 4
16a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
16e: 88 ee ldi r24, 0xE8 ; 232
170: 93 e0 ldi r25, 0x03 ; 3
172: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(5,0);
176: 60 e0 ldi r22, 0x00 ; 0
178: 85 e0 ldi r24, 0x05 ; 5
17a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
17e: 88 ee ldi r24, 0xE8 ; 232
180: 93 e0 ldi r25, 0x03 ; 3
182: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(6,1);
186: 61 e0 ldi r22, 0x01 ; 1
188: 86 e0 ldi r24, 0x06 ; 6
18a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
18e: 88 ee ldi r24, 0xE8 ; 232
190: 93 e0 ldi r25, 0x03 ; 3
192: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(7,2);
196: 62 e0 ldi r22, 0x02 ; 2
198: 87 e0 ldi r24, 0x07 ; 7
19a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
19e: 88 ee ldi r24, 0xE8 ; 232
1a0: 93 e0 ldi r25, 0x03 ; 3
1a2: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(8,3);
1a6: 63 e0 ldi r22, 0x03 ; 3
1a8: 88 e0 ldi r24, 0x08 ; 8
1aa: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
1ae: 88 ee ldi r24, 0xE8 ; 232
1b0: 93 e0 ldi r25, 0x03 ; 3
1b2: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(9,0);
1b6: 60 e0 ldi r22, 0x00 ; 0
1b8: 89 e0 ldi r24, 0x09 ; 9
1ba: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
1be: 88 ee ldi r24, 0xE8 ; 232
1c0: 93 e0 ldi r25, 0x03 ; 3
1c2: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(10,1);
1c6: 61 e0 ldi r22, 0x01 ; 1
1c8: 8a e0 ldi r24, 0x0A ; 10
1ca: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
1ce: 88 ee ldi r24, 0xE8 ; 232
1d0: 93 e0 ldi r25, 0x03 ; 3
1d2: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(11,2);
1d6: 62 e0 ldi r22, 0x02 ; 2
1d8: 8b e0 ldi r24, 0x0B ; 11
1da: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
1de: 88 ee ldi r24, 0xE8 ; 232
1e0: 93 e0 ldi r25, 0x03 ; 3
1e2: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(12,3);
1e6: 63 e0 ldi r22, 0x03 ; 3
1e8: 8c e0 ldi r24, 0x0C ; 12
1ea: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
1ee: 88 ee ldi r24, 0xE8 ; 232
1f0: 93 e0 ldi r25, 0x03 ; 3
1f2: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(13,0);
1f6: 60 e0 ldi r22, 0x00 ; 0
1f8: 8d e0 ldi r24, 0x0D ; 13
1fa: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
1fe: 88 ee ldi r24, 0xE8 ; 232
200: 93 e0 ldi r25, 0x03 ; 3
202: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(14,1);
206: 61 e0 ldi r22, 0x01 ; 1
208: 8e e0 ldi r24, 0x0E ; 14
20a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
20e: 88 ee ldi r24, 0xE8 ; 232
210: 93 e0 ldi r25, 0x03 ; 3
212: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(15,2);
216: 62 e0 ldi r22, 0x02 ; 2
218: 8f e0 ldi r24, 0x0F ; 15
21a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
21e: 88 ee ldi r24, 0xE8 ; 232
220: 93 e0 ldi r25, 0x03 ; 3
222: 0e 94 83 00 call 0x106 <delay_ms>
display_one_smg(0,3);
226: 63 e0 ldi r22, 0x03 ; 3
228: 80 e0 ldi r24, 0x00 ; 0
22a: 0e 94 65 00 call 0xca <display_one_smg>
delay_ms(1000);
22e: 88 ee ldi r24, 0xE8 ; 232
230: 93 e0 ldi r25, 0x03 ; 3
232: 0e 94 83 00 call 0x106 <delay_ms>
delay_ms(1000);
236: 88 ee ldi r24, 0xE8 ; 232
238: 93 e0 ldi r25, 0x03 ; 3
23a: 0e 94 83 00 call 0x106 <delay_ms>
23e: 7b cf rjmp .-266 ; 0x136 <main+0x8>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -