?? main.lst
字號:
main.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000172 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 0000000e 00800060 00000172 00000206 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000005 0080006e 0080006e 00000214 2**0
ALLOC
3 .stab 00000378 00000000 00000000 00000214 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00000071 00000000 00000000 0000058c 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_aranges 00000020 00000000 00000000 000005fd 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_pubnames 00000076 00000000 00000000 0000061d 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_info 0000031f 00000000 00000000 00000693 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_abbrev 00000163 00000000 00000000 000009b2 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_line 000001f4 00000000 00000000 00000b15 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_frame 00000060 00000000 00000000 00000d0c 2**2
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00000102 00000000 00000000 00000d6c 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_loc 00000053 00000000 00000000 00000e6e 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: e2 e7 ldi r30, 0x72 ; 114
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: a3 37 cpi r26, 0x73 ; 115
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop>
58: 46 d0 rcall .+140 ; 0xe6 <main>
5a: 8a c0 rjmp .+276 ; 0x170 <_exit>
0000005c <__bad_interrupt>:
5c: d1 cf rjmp .-94 ; 0x0 <__vectors>
0000005e <csh>:
}
}
void csh()
{
5e: 81 e5 ldi r24, 0x51 ; 81
60: 8d b9 out 0x0d, r24 ; 13
SPCR=0X51;//SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
DDRB=0X2C;//(1<<DDRB5)(1<<DDRB3)|(1<<DDRB2);
62: 8c e2 ldi r24, 0x2C ; 44
64: 87 bb out 0x17, r24 ; 23
PORTB=0xff;
66: 8f ef ldi r24, 0xFF ; 255
68: 88 bb out 0x18, r24 ; 24
ADMUX|=0x03;//設置AD口的基準電壓,輸入通道等
6a: 87 b1 in r24, 0x07 ; 7
6c: 83 60 ori r24, 0x03 ; 3
6e: 87 b9 out 0x07, r24 ; 7
//ADCSRA|=(1<<ADSC);//啟動AD,啟動首次轉換
ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADFR)|(1<<ADIF)|(0<<ADIE)|5;
70: 85 ef ldi r24, 0xF5 ; 245
72: 86 b9 out 0x06, r24 ; 6
74: 08 95 ret
00000076 <scz>:
//DDRC=0X00;
//PORTC=0x00;
}
void scz()
{
76: 85 e0 ldi r24, 0x05 ; 5
78: 80 93 6f 00 sts 0x006F, r24
key=NO_key;
KeyBuffer=NO_key;
7c: 80 93 6e 00 sts 0x006E, r24
AD_Data=NO_key;
80: 80 93 70 00 sts 0x0070, r24
84: 08 95 ret
00000086 <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[key]);
}
PORTB=PORTB|4;
_delay_ms(1);
}
}
void in(char data )
{
86: 8f b9 out 0x0f, r24 ; 15
SPDR=data;
while(!(SPSR & (1<<SPIF)))
88: 77 9b sbis 0x0e, 7 ; 14
8a: fe cf rjmp .-4 ; 0x88 <in+0x2>
8c: 08 95 ret
0000008e <show1>:
8e: ef 92 push r14
90: ff 92 push r15
92: 0f 93 push r16
94: 1f 93 push r17
96: cf 93 push r28
98: df 93 push r29
9a: 00 e0 ldi r16, 0x00 ; 0
9c: 10 e0 ldi r17, 0x00 ; 0
9e: 80 ed ldi r24, 0xD0 ; 208
a0: e8 2e mov r14, r24
a2: 87 e0 ldi r24, 0x07 ; 7
a4: f8 2e mov r15, r24
a6: c2 98 cbi 0x18, 2 ; 24
a8: 80 ec ldi r24, 0xC0 ; 192
aa: ed df rcall .-38 ; 0x86 <in>
ac: c0 e0 ldi r28, 0x00 ; 0
ae: d0 e0 ldi r29, 0x00 ; 0
b0: e0 91 6f 00 lds r30, 0x006F
b4: ff 27 eor r31, r31
b6: e0 5a subi r30, 0xA0 ; 160
b8: ff 4f sbci r31, 0xFF ; 255
ba: 80 81 ld r24, Z
bc: e4 df rcall .-56 ; 0x86 <in>
be: 21 96 adiw r28, 0x01 ; 1
c0: c3 30 cpi r28, 0x03 ; 3
c2: d1 05 cpc r29, r1
c4: a9 f7 brne .-22 ; 0xb0 <show1+0x22>
c6: c2 9a sbi 0x18, 2 ; 24
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
c8: c7 01 movw r24, r14
ca: 01 97 sbiw r24, 0x01 ; 1
cc: f1 f7 brne .-4 ; 0xca <show1+0x3c>
ce: 0f 5f subi r16, 0xFF ; 255
d0: 1f 4f sbci r17, 0xFF ; 255
d2: 04 3b cpi r16, 0xB4 ; 180
d4: 11 05 cpc r17, r1
d6: 39 f7 brne .-50 ; 0xa6 <show1+0x18>
d8: df 91 pop r29
da: cf 91 pop r28
dc: 1f 91 pop r17
de: 0f 91 pop r16
e0: ff 90 pop r15
e2: ef 90 pop r14
e4: 08 95 ret
000000e6 <main>:
e6: bb df rcall .-138 ; 0x5e <csh>
e8: c6 df rcall .-116 ; 0x76 <scz>
ea: 86 b1 in r24, 0x06 ; 6
ec: 82 95 swap r24
ee: 8f 70 andi r24, 0x0F ; 15
f0: 80 ff sbrs r24, 0
f2: 15 c0 rjmp .+42 ; 0x11e <main+0x38>
*/
void
_delay_loop_1(uint8_t __count)
{
__asm__ volatile (
f4: 80 e5 ldi r24, 0x50 ; 80
f6: 8a 95 dec r24
f8: f1 f7 brne .-4 ; 0xf6 <main+0x10>
fa: 24 b1 in r18, 0x04 ; 4
fc: 85 b1 in r24, 0x05 ; 5
fe: 99 27 eor r25, r25
100: 98 2f mov r25, r24
102: 88 27 eor r24, r24
104: 82 0f add r24, r18
106: 91 1d adc r25, r1
108: 90 93 72 00 sts 0x0072, r25
10c: 80 93 71 00 sts 0x0071, r24
110: 8c 59 subi r24, 0x9C ; 156
112: 9f 4f sbci r25, 0xFF ; 255
114: 68 ec ldi r22, 0xC8 ; 200
116: 70 e0 ldi r23, 0x00 ; 0
118: 17 d0 rcall .+46 ; 0x148 <__udivmodhi4>
11a: 60 93 70 00 sts 0x0070, r22
11e: 90 91 70 00 lds r25, 0x0070
122: 80 91 6e 00 lds r24, 0x006E
126: 89 17 cp r24, r25
128: 31 f0 breq .+12 ; 0x136 <main+0x50>
12a: 90 93 6e 00 sts 0x006E, r25
12e: 95 30 cpi r25, 0x05 ; 5
130: 11 f0 breq .+4 ; 0x136 <main+0x50>
132: 90 93 6f 00 sts 0x006F, r25
136: ab df rcall .-170 ; 0x8e <show1>
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
138: 80 ea ldi r24, 0xA0 ; 160
13a: 9f e0 ldi r25, 0x0F ; 15
13c: 01 97 sbiw r24, 0x01 ; 1
13e: f1 f7 brne .-4 ; 0x13c <main+0x56>
140: 85 e0 ldi r24, 0x05 ; 5
142: 80 93 6f 00 sts 0x006F, r24
146: d1 cf rjmp .-94 ; 0xea <main+0x4>
00000148 <__udivmodhi4>:
148: aa 1b sub r26, r26
14a: bb 1b sub r27, r27
14c: 51 e1 ldi r21, 0x11 ; 17
14e: 07 c0 rjmp .+14 ; 0x15e <__udivmodhi4_ep>
00000150 <__udivmodhi4_loop>:
150: aa 1f adc r26, r26
152: bb 1f adc r27, r27
154: a6 17 cp r26, r22
156: b7 07 cpc r27, r23
158: 10 f0 brcs .+4 ; 0x15e <__udivmodhi4_ep>
15a: a6 1b sub r26, r22
15c: b7 0b sbc r27, r23
0000015e <__udivmodhi4_ep>:
15e: 88 1f adc r24, r24
160: 99 1f adc r25, r25
162: 5a 95 dec r21
164: a9 f7 brne .-22 ; 0x150 <__udivmodhi4_loop>
166: 80 95 com r24
168: 90 95 com r25
16a: bc 01 movw r22, r24
16c: cd 01 movw r24, r26
16e: 08 95 ret
00000170 <_exit>:
170: ff cf rjmp .-2 ; 0x170 <_exit>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -