📄 main.lst
字号:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000150 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 0000000e 00800060 00000150 000001e4 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000001 0080006e 0080006e 000001f2 2**0
ALLOC
3 .stab 00000378 00000000 00000000 000001f4 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000071 00000000 00000000 0000056c 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000020 00000000 00000000 000005dd 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 0000004f 00000000 00000000 000005fd 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 0000021d 00000000 00000000 0000064c 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 00000141 00000000 00000000 00000869 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 00000197 00000000 00000000 000009aa 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 00000050 00000000 00000000 00000b44 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 000000c0 00000000 00000000 00000b94 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 00000028 00000000 00000000 00000c54 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
2: 2c c0 rjmp .+88 ; 0x5c <__bad_interrupt>
4: 2b c0 rjmp .+86 ; 0x5c <__bad_interrupt>
6: 2a c0 rjmp .+84 ; 0x5c <__bad_interrupt>
8: 29 c0 rjmp .+82 ; 0x5c <__bad_interrupt>
a: 28 c0 rjmp .+80 ; 0x5c <__bad_interrupt>
c: 27 c0 rjmp .+78 ; 0x5c <__bad_interrupt>
e: 26 c0 rjmp .+76 ; 0x5c <__bad_interrupt>
10: 25 c0 rjmp .+74 ; 0x5c <__bad_interrupt>
12: 24 c0 rjmp .+72 ; 0x5c <__bad_interrupt>
14: 23 c0 rjmp .+70 ; 0x5c <__bad_interrupt>
16: 22 c0 rjmp .+68 ; 0x5c <__bad_interrupt>
18: 21 c0 rjmp .+66 ; 0x5c <__bad_interrupt>
1a: 20 c0 rjmp .+64 ; 0x5c <__bad_interrupt>
1c: 1f c0 rjmp .+62 ; 0x5c <__bad_interrupt>
1e: 1e c0 rjmp .+60 ; 0x5c <__bad_interrupt>
20: 1d c0 rjmp .+58 ; 0x5c <__bad_interrupt>
22: 1c c0 rjmp .+56 ; 0x5c <__bad_interrupt>
24: 1b c0 rjmp .+54 ; 0x5c <__bad_interrupt>
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: e0 e5 ldi r30, 0x50 ; 80
3a: f1 e0 ldi r31, 0x01 ; 1
3c: 02 c0 rjmp .+4 ; 0x42 <.do_copy_data_start>
0000003e <.do_copy_data_loop>:
3e: 05 90 lpm r0, Z+
40: 0d 92 st X+, r0
00000042 <.do_copy_data_start>:
42: ae 36 cpi r26, 0x6E ; 110
44: b1 07 cpc r27, r17
46: d9 f7 brne .-10 ; 0x3e <.do_copy_data_loop>
00000048 <__do_clear_bss>:
48: 10 e0 ldi r17, 0x00 ; 0
4a: ae e6 ldi r26, 0x6E ; 110
4c: b0 e0 ldi r27, 0x00 ; 0
4e: 01 c0 rjmp .+2 ; 0x52 <.do_clear_bss_start>
00000050 <.do_clear_bss_loop>:
50: 1d 92 st X+, r1
00000052 <.do_clear_bss_start>:
52: af 36 cpi r26, 0x6F ; 111
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop>
58: 4c d0 rcall .+152 ; 0xf2 <main>
5a: 79 c0 rjmp .+242 ; 0x14e <_exit>
0000005c <__bad_interrupt>:
5c: d1 cf rjmp .-94 ; 0x0 <__vectors>
0000005e <QDD>:
}
void QDD()//检测有键按下并去抖动
{
5e: 9b 99 sbic 0x13, 3 ; 19
60: 04 c0 rjmp .+8 ; 0x6a <QDD+0xc>
char i,k;
k=PINC;
if((k&0x08)==0)//有键按下
{
for(i=0;i<10;i++)
{
if((k&0x08)!=0)//无键按下
{
AJ=0;
return;
}
}
AJ=1;
62: 81 e0 ldi r24, 0x01 ; 1
64: 80 93 6e 00 sts 0x006E, r24
68: 08 95 ret
}
else
{
AJ=0;
6a: 10 92 6e 00 sts 0x006E, r1
6e: 08 95 ret
00000070 <in>:
}
}
void show1()
{
int i,j,k;
k=(key%10);
for(i=0;i<180;i++)
{
PORTB=PORTB&(~4);
in(b[0]);
for(j=0;j<3;j++)
{
in(a[k]);
}
PORTB=PORTB|4;
_delay_ms(1);
}
}
void in(char data )
{
70: 8f b9 out 0x0f, r24 ; 15
SPDR=data;
while(!(SPSR & (1<<SPIF)))
72: 77 9b sbis 0x0e, 7 ; 14
74: fe cf rjmp .-4 ; 0x72 <in+0x2>
76: 08 95 ret
00000078 <show1>:
78: af 92 push r10
7a: bf 92 push r11
7c: cf 92 push r12
7e: df 92 push r13
80: ef 92 push r14
82: ff 92 push r15
84: 1f 93 push r17
86: cf 93 push r28
88: df 93 push r29
8a: 80 91 60 00 lds r24, 0x0060
8e: 6a e0 ldi r22, 0x0A ; 10
90: 45 d0 rcall .+138 ; 0x11c <__divmodqi4>
92: c9 2e mov r12, r25
94: dd 24 eor r13, r13
96: c7 fc sbrc r12, 7
98: d0 94 com r13
9a: ee 24 eor r14, r14
9c: ff 24 eor r15, r15
9e: 81 e6 ldi r24, 0x61 ; 97
a0: 90 e0 ldi r25, 0x00 ; 0
a2: c8 0e add r12, r24
a4: d9 1e adc r13, r25
a6: 80 ed ldi r24, 0xD0 ; 208
a8: a8 2e mov r10, r24
aa: 87 e0 ldi r24, 0x07 ; 7
ac: b8 2e mov r11, r24
ae: c2 98 cbi 0x18, 2 ; 24
b0: 80 ec ldi r24, 0xC0 ; 192
b2: de df rcall .-68 ; 0x70 <in>
b4: f6 01 movw r30, r12
b6: 10 81 ld r17, Z
b8: c0 e0 ldi r28, 0x00 ; 0
ba: d0 e0 ldi r29, 0x00 ; 0
bc: 81 2f mov r24, r17
be: d8 df rcall .-80 ; 0x70 <in>
c0: 21 96 adiw r28, 0x01 ; 1
c2: c3 30 cpi r28, 0x03 ; 3
c4: d1 05 cpc r29, r1
c6: d1 f7 brne .-12 ; 0xbc <show1+0x44>
c8: c2 9a sbi 0x18, 2 ; 24
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
ca: c5 01 movw r24, r10
cc: 01 97 sbiw r24, 0x01 ; 1
ce: f1 f7 brne .-4 ; 0xcc <show1+0x54>
d0: 08 94 sec
d2: e1 1c adc r14, r1
d4: f1 1c adc r15, r1
d6: f4 eb ldi r31, 0xB4 ; 180
d8: ef 16 cp r14, r31
da: f1 04 cpc r15, r1
dc: 41 f7 brne .-48 ; 0xae <show1+0x36>
de: df 91 pop r29
e0: cf 91 pop r28
e2: 1f 91 pop r17
e4: ff 90 pop r15
e6: ef 90 pop r14
e8: df 90 pop r13
ea: cf 90 pop r12
ec: bf 90 pop r11
ee: af 90 pop r10
f0: 08 95 ret
000000f2 <main>:
f2: 81 e5 ldi r24, 0x51 ; 81
f4: 8d b9 out 0x0d, r24 ; 13
f6: 8c e2 ldi r24, 0x2C ; 44
f8: 87 bb out 0x17, r24 ; 23
fa: 14 ba out 0x14, r1 ; 20
fc: 88 e0 ldi r24, 0x08 ; 8
fe: 85 bb out 0x15, r24 ; 21
100: 01 c0 rjmp .+2 ; 0x104 <main+0x12>
102: ba df rcall .-140 ; 0x78 <show1>
104: ac df rcall .-168 ; 0x5e <QDD>
106: 80 91 6e 00 lds r24, 0x006E
10a: 81 30 cpi r24, 0x01 ; 1
10c: d1 f7 brne .-12 ; 0x102 <main+0x10>
10e: 80 91 60 00 lds r24, 0x0060
112: 8f 5f subi r24, 0xFF ; 255
114: 80 93 60 00 sts 0x0060, r24
118: af df rcall .-162 ; 0x78 <show1>
11a: f4 cf rjmp .-24 ; 0x104 <main+0x12>
0000011c <__divmodqi4>:
11c: 87 fb bst r24, 7
11e: 08 2e mov r0, r24
120: 06 26 eor r0, r22
122: 87 fd sbrc r24, 7
124: 81 95 neg r24
126: 67 fd sbrc r22, 7
128: 61 95 neg r22
12a: 05 d0 rcall .+10 ; 0x136 <__udivmodqi4>
12c: 0e f4 brtc .+2 ; 0x130 <__divmodqi4_1>
12e: 91 95 neg r25
00000130 <__divmodqi4_1>:
130: 07 fc sbrc r0, 7
132: 81 95 neg r24
00000134 <__divmodqi4_exit>:
134: 08 95 ret
00000136 <__udivmodqi4>:
136: 99 1b sub r25, r25
138: 79 e0 ldi r23, 0x09 ; 9
13a: 04 c0 rjmp .+8 ; 0x144 <__udivmodqi4_ep>
0000013c <__udivmodqi4_loop>:
13c: 99 1f adc r25, r25
13e: 96 17 cp r25, r22
140: 08 f0 brcs .+2 ; 0x144 <__udivmodqi4_ep>
142: 96 1b sub r25, r22
00000144 <__udivmodqi4_ep>:
144: 88 1f adc r24, r24
146: 7a 95 dec r23
148: c9 f7 brne .-14 ; 0x13c <__udivmodqi4_loop>
14a: 80 95 com r24
14c: 08 95 ret
0000014e <_exit>:
14e: ff cf rjmp .-2 ; 0x14e <_exit>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -