📄 int.lss
字号:
int.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000002a0 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 000002a0 00000334 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 0000000a 00800060 00800060 00000334 2**0
ALLOC
3 .noinit 00000000 0080006a 0080006a 00000334 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000334 2**0
CONTENTS
5 .stab 0000036c 00000000 00000000 00000334 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 000006a0 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000014 00000000 00000000 00000724 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 00000080 00000000 00000000 00000738 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 000002b0 00000000 00000000 000007b8 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 00000139 00000000 00000000 00000a68 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 000001f3 00000000 00000000 00000ba1 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 0000013a 00000000 00000000 00000d94 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 32 00 jmp 0x64 <__init>
4: 0c 94 04 01 jmp 0x208 <__vector_1>
8: 0c 94 20 01 jmp 0x240 <__vector_2>
c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
10: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
14: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
18: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
1c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
20: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
24: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
28: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
2c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
30: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
34: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
38: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
3c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
40: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
44: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
48: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
4c: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
50: 0c 94 4d 00 jmp 0x9a <__bad_interrupt>
00000054 <SegCode>:
54: 3f 06 5b 4f 66 6d 7d 07 7f 6f 77 7c 39 5e 79 71 ?.[Ofm}..ow|9^yq
00000064 <__init>:
64: 11 24 eor r1, r1
66: 1f be out 0x3f, r1 ; 63
68: cf e5 ldi r28, 0x5F ; 95
6a: d4 e0 ldi r29, 0x04 ; 4
6c: de bf out 0x3e, r29 ; 62
6e: cd bf out 0x3d, r28 ; 61
00000070 <__do_copy_data>:
70: 10 e0 ldi r17, 0x00 ; 0
72: a0 e6 ldi r26, 0x60 ; 96
74: b0 e0 ldi r27, 0x00 ; 0
76: e0 ea ldi r30, 0xA0 ; 160
78: f2 e0 ldi r31, 0x02 ; 2
7a: 02 c0 rjmp .+4 ; 0x80 <.do_copy_data_start>
0000007c <.do_copy_data_loop>:
7c: 05 90 lpm r0, Z+
7e: 0d 92 st X+, r0
00000080 <.do_copy_data_start>:
80: a0 36 cpi r26, 0x60 ; 96
82: b1 07 cpc r27, r17
84: d9 f7 brne .-10 ; 0x7c <.do_copy_data_loop>
00000086 <__do_clear_bss>:
86: 10 e0 ldi r17, 0x00 ; 0
88: a0 e6 ldi r26, 0x60 ; 96
8a: b0 e0 ldi r27, 0x00 ; 0
8c: 01 c0 rjmp .+2 ; 0x90 <.do_clear_bss_start>
0000008e <.do_clear_bss_loop>:
8e: 1d 92 st X+, r1
00000090 <.do_clear_bss_start>:
90: aa 36 cpi r26, 0x6A ; 106
92: b1 07 cpc r27, r17
94: e1 f7 brne .-8 ; 0x8e <.do_clear_bss_loop>
96: 0c 94 a7 00 jmp 0x14e <main>
0000009a <__bad_interrupt>:
9a: 0c 94 00 00 jmp 0x0 <__vectors>
0000009e <delay_ms>:
volatile unsigned int Count=0;
void delay_ms(unsigned int ms)
{
9e: cf 93 push r28
a0: df 93 push r29
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
a2: 9c 01 movw r18, r24
a4: 21 50 subi r18, 0x01 ; 1
a6: 30 40 sbci r19, 0x00 ; 0
a8: 8f ef ldi r24, 0xFF ; 255
aa: 2f 3f cpi r18, 0xFF ; 255
ac: 38 07 cpc r19, r24
ae: 69 f0 breq .+26 ; 0xca <delay_ms+0x2c>
b0: a0 ed ldi r26, 0xD0 ; 208
b2: b7 e0 ldi r27, 0x07 ; 7
b4: c0 e0 ldi r28, 0x00 ; 0
b6: d0 e0 ldi r29, 0x00 ; 0
b8: cd 01 movw r24, r26
ba: 01 97 sbiw r24, 0x01 ; 1
bc: f1 f7 brne .-4 ; 0xba <delay_ms+0x1c>
be: 21 50 subi r18, 0x01 ; 1
c0: 30 40 sbci r19, 0x00 ; 0
c2: 8f ef ldi r24, 0xFF ; 255
c4: 2f 3f cpi r18, 0xFF ; 255
c6: 38 07 cpc r19, r24
c8: b9 f7 brne .-18 ; 0xb8 <delay_ms+0x1a>
ca: df 91 pop r29
cc: cf 91 pop r28
ce: 08 95 ret
000000d0 <Scanf>:
while(ms--)
_delay_ms(1);
}
void Scanf(void)
{
d0: 0f 93 push r16
d2: 1f 93 push r17
d4: cf 93 push r28
d6: df 93 push r29
d8: 01 e0 ldi r16, 0x01 ; 1
da: 10 e0 ldi r17, 0x00 ; 0
dc: a0 ea ldi r26, 0xA0 ; 160
de: bf e0 ldi r27, 0x0F ; 15
e0: c0 e0 ldi r28, 0x00 ; 0
e2: d0 e0 ldi r29, 0x00 ; 0
e4: 62 e6 ldi r22, 0x62 ; 98
e6: 70 e0 ldi r23, 0x00 ; 0
e8: 20 e0 ldi r18, 0x00 ; 0
ea: 30 e0 ldi r19, 0x00 ; 0
ec: 47 e0 ldi r20, 0x07 ; 7
unsigned char i=0;
for(i=0;i<8;i++)
{
PORTB = pgm_read_byte(&SegCode[DisBuffer[i]]);
ee: fb 01 movw r30, r22
f0: 81 91 ld r24, Z+
f2: bf 01 movw r22, r30
f4: e8 2f mov r30, r24
f6: ff 27 eor r31, r31
f8: ec 5a subi r30, 0xAC ; 172
fa: ff 4f sbci r31, 0xFF ; 255
fc: 84 91 lpm r24, Z
fe: 88 bb out 0x18, r24 ; 24
PORTA|= (1<<PA4);
100: dc 9a sbi 0x1b, 4 ; 27
PORTA&=~(1<<PA4);
102: dc 98 cbi 0x1b, 4 ; 27
PORTB = (1<<i);
104: c8 01 movw r24, r16
106: 02 2e mov r0, r18
108: 02 c0 rjmp .+4 ; 0x10e <Scanf+0x3e>
10a: 88 0f add r24, r24
10c: 99 1f adc r25, r25
10e: 0a 94 dec r0
110: e2 f7 brpl .-8 ; 0x10a <Scanf+0x3a>
112: 88 bb out 0x18, r24 ; 24
PORTA|= (1<<PA5);
114: dd 9a sbi 0x1b, 5 ; 27
PORTA&=~(1<<PA5);
116: dd 98 cbi 0x1b, 5 ; 27
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
118: cd 01 movw r24, r26
11a: 01 97 sbiw r24, 0x01 ; 1
11c: f1 f7 brne .-4 ; 0x11a <Scanf+0x4a>
11e: 41 50 subi r20, 0x01 ; 1
120: 2f 5f subi r18, 0xFF ; 255
122: 3f 4f sbci r19, 0xFF ; 255
124: 47 ff sbrs r20, 7
126: e3 cf rjmp .-58 ; 0xee <Scanf+0x1e>
128: df 91 pop r29
12a: cf 91 pop r28
12c: 1f 91 pop r17
12e: 0f 91 pop r16
130: 08 95 ret
00000132 <IntInit>:
_delay_ms(2);
}
}
void IntInit(void)
{
PORTD|= (1<<PD2)|(1<<PD3);
132: 82 b3 in r24, 0x12 ; 18
134: 8c 60 ori r24, 0x0C ; 12
136: 82 bb out 0x12, r24 ; 18
DDRD &=~((1<<PD2)|(1<<PD3));
138: 81 b3 in r24, 0x11 ; 17
13a: 83 7f andi r24, 0xF3 ; 243
13c: 81 bb out 0x11, r24 ; 17
MCUCR|= (1<<ISC11)|(0<<ISC10)|(1<<ISC01)|(0<<ISC00);
13e: 85 b7 in r24, 0x35 ; 53
140: 8a 60 ori r24, 0x0A ; 10
142: 85 bf out 0x35, r24 ; 53
GICR |= (1<<INT1)|(1<<INT0);
144: 8b b7 in r24, 0x3b ; 59
146: 80 6c ori r24, 0xC0 ; 192
148: 8b bf out 0x3b, r24 ; 59
sei();
14a: 78 94 sei
14c: 08 95 ret
0000014e <main>:
}
int main(void)
{
14e: cf e5 ldi r28, 0x5F ; 95
150: d4 e0 ldi r29, 0x04 ; 4
152: de bf out 0x3e, r29 ; 62
154: cd bf out 0x3d, r28 ; 61
/* Set LED and Smg LE pin as output , databus as output */
DDRA |=(1<<PA4)|(1<<PA5)|(1<<PA6);
156: 8a b3 in r24, 0x1a ; 26
158: 80 67 ori r24, 0x70 ; 112
15a: 8a bb out 0x1a, r24 ; 26
DDRB = 0xFF;
15c: 8f ef ldi r24, 0xFF ; 255
15e: 87 bb out 0x17, r24 ; 23
/* Off the LED display */
PORTB = 0xFF;
160: 88 bb out 0x18, r24 ; 24
PORTA|= (1<<PA6);
162: de 9a sbi 0x1b, 6 ; 27
PORTA&=~(1<<PA6);
164: de 98 cbi 0x1b, 6 ; 27
IntInit();
166: 0e 94 99 00 call 0x132 <IntInit>
while(1)
{
DisBuffer[0]=0;
16a: 10 92 62 00 sts 0x0062, r1
DisBuffer[1]=0;
16e: 10 92 63 00 sts 0x0063, r1
DisBuffer[2]=0;
172: 10 92 64 00 sts 0x0064, r1
DisBuffer[3]=Count/10000%10;
176: 80 91 60 00 lds r24, 0x0060
17a: 90 91 61 00 lds r25, 0x0061
17e: 60 e1 ldi r22, 0x10 ; 16
180: 77 e2 ldi r23, 0x27 ; 39
182: 0e 94 3c 01 call 0x278 <__udivmodhi4>
186: cb 01 movw r24, r22
188: 6a e0 ldi r22, 0x0A ; 10
18a: 70 e0 ldi r23, 0x00 ; 0
18c: 0e 94 3c 01 call 0x278 <__udivmodhi4>
190: 80 93 65 00 sts 0x0065, r24
DisBuffer[4]=Count/1000%10;
194: 80 91 60 00 lds r24, 0x0060
198: 90 91 61 00 lds r25, 0x0061
19c: 68 ee ldi r22, 0xE8 ; 232
19e: 73 e0 ldi r23, 0x03 ; 3
1a0: 0e 94 3c 01 call 0x278 <__udivmodhi4>
1a4: cb 01 movw r24, r22
1a6: 6a e0 ldi r22, 0x0A ; 10
1a8: 70 e0 ldi r23, 0x00 ; 0
1aa: 0e 94 3c 01 call 0x278 <__udivmodhi4>
1ae: 80 93 66 00 sts 0x0066, r24
DisBuffer[5]=Count/100%10;
1b2: 80 91 60 00 lds r24, 0x0060
1b6: 90 91 61 00 lds r25, 0x0061
1ba: 64 e6 ldi r22, 0x64 ; 100
1bc: 70 e0 ldi r23, 0x00 ; 0
1be: 0e 94 3c 01 call 0x278 <__udivmodhi4>
1c2: cb 01 movw r24, r22
1c4: 6a e0 ldi r22, 0x0A ; 10
1c6: 70 e0 ldi r23, 0x00 ; 0
1c8: 0e 94 3c 01 call 0x278 <__udivmodhi4>
1cc: 80 93 67 00 sts 0x0067, r24
DisBuffer[6]=Count/10%10;
1d0: 80 91 60 00 lds r24, 0x0060
1d4: 90 91 61 00 lds r25, 0x0061
1d8: 6a e0 ldi r22, 0x0A ; 10
1da: 70 e0 ldi r23, 0x00 ; 0
1dc: 0e 94 3c 01 call 0x278 <__udivmodhi4>
1e0: cb 01 movw r24, r22
1e2: 6a e0 ldi r22, 0x0A ; 10
1e4: 70 e0 ldi r23, 0x00 ; 0
1e6: 0e 94 3c 01 call 0x278 <__udivmodhi4>
1ea: 80 93 68 00 sts 0x0068, r24
DisBuffer[7]=Count/1%10;
1ee: 80 91 60 00 lds r24, 0x0060
1f2: 90 91 61 00 lds r25, 0x0061
1f6: 6a e0 ldi r22, 0x0A ; 10
1f8: 70 e0 ldi r23, 0x00 ; 0
1fa: 0e 94 3c 01 call 0x278 <__udivmodhi4>
1fe: 80 93 69 00 sts 0x0069, r24
Scanf();
202: 0e 94 68 00 call 0xd0 <Scanf>
206: b1 cf rjmp .-158 ; 0x16a <main+0x1c>
00000208 <__vector_1>:
}
return 0;
}
SIGNAL(INT0_vect)
{
208: 1f 92 push r1
20a: 0f 92 push r0
20c: 0f b6 in r0, 0x3f ; 63
20e: 0f 92 push r0
210: 11 24 eor r1, r1
212: 8f 93 push r24
214: 9f 93 push r25
GIFR&=~(1<<INT0);
216: 8a b7 in r24, 0x3a ; 58
218: 8f 7b andi r24, 0xBF ; 191
21a: 8a bf out 0x3a, r24 ; 58
if(!(PIND&(1<<PD2)))
21c: 82 99 sbic 0x10, 2 ; 16
21e: 09 c0 rjmp .+18 ; 0x232 <__vector_1+0x2a>
{
Count++;
220: 80 91 60 00 lds r24, 0x0060
224: 90 91 61 00 lds r25, 0x0061
228: 01 96 adiw r24, 0x01 ; 1
22a: 90 93 61 00 sts 0x0061, r25
22e: 80 93 60 00 sts 0x0060, r24
232: 9f 91 pop r25
234: 8f 91 pop r24
236: 0f 90 pop r0
238: 0f be out 0x3f, r0 ; 63
23a: 0f 90 pop r0
23c: 1f 90 pop r1
23e: 18 95 reti
00000240 <__vector_2>:
}
}
SIGNAL(INT1_vect)
{
240: 1f 92 push r1
242: 0f 92 push r0
244: 0f b6 in r0, 0x3f ; 63
246: 0f 92 push r0
248: 11 24 eor r1, r1
24a: 8f 93 push r24
24c: 9f 93 push r25
GIFR&=~(1<<INT1);
24e: 8a b7 in r24, 0x3a ; 58
250: 8f 77 andi r24, 0x7F ; 127
252: 8a bf out 0x3a, r24 ; 58
if(!(PIND&(1<<PD3)))
254: 83 99 sbic 0x10, 3 ; 16
256: 09 c0 rjmp .+18 ; 0x26a <__vector_2+0x2a>
{
Count--;
258: 80 91 60 00 lds r24, 0x0060
25c: 90 91 61 00 lds r25, 0x0061
260: 01 97 sbiw r24, 0x01 ; 1
262: 90 93 61 00 sts 0x0061, r25
266: 80 93 60 00 sts 0x0060, r24
26a: 9f 91 pop r25
26c: 8f 91 pop r24
26e: 0f 90 pop r0
270: 0f be out 0x3f, r0 ; 63
272: 0f 90 pop r0
274: 1f 90 pop r1
276: 18 95 reti
00000278 <__udivmodhi4>:
278: aa 1b sub r26, r26
27a: bb 1b sub r27, r27
27c: 51 e1 ldi r21, 0x11 ; 17
27e: 07 c0 rjmp .+14 ; 0x28e <__udivmodhi4_ep>
00000280 <__udivmodhi4_loop>:
280: aa 1f adc r26, r26
282: bb 1f adc r27, r27
284: a6 17 cp r26, r22
286: b7 07 cpc r27, r23
288: 10 f0 brcs .+4 ; 0x28e <__udivmodhi4_ep>
28a: a6 1b sub r26, r22
28c: b7 0b sbc r27, r23
0000028e <__udivmodhi4_ep>:
28e: 88 1f adc r24, r24
290: 99 1f adc r25, r25
292: 5a 95 dec r21
294: a9 f7 brne .-22 ; 0x280 <__udivmodhi4_loop>
296: 80 95 com r24
298: 90 95 com r25
29a: bc 01 movw r22, r24
29c: cd 01 movw r24, r26
29e: 08 95 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -