📄 7219ding.lss
字号:
7219DING.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000022c 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000038 00800060 0000022c 000002c0 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000004 00800098 00800098 000002f8 2**0
ALLOC
3 .noinit 00000000 0080009c 0080009c 000002f8 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 000002f8 2**0
CONTENTS
5 .stab 0000036c 00000000 00000000 000002f8 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 00000664 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000020 00000000 00000000 000006e8 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 00000073 00000000 00000000 00000708 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 00000209 00000000 00000000 0000077b 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 00000102 00000000 00000000 00000984 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 0000023b 00000000 00000000 00000a86 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 000000b4 00000000 00000000 00000cc1 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 2a 00 jmp 0x54 <__ctors_end>
4: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
8: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
c: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
10: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
14: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
18: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
1c: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
20: 0c 94 a1 00 jmp 0x142 <__vector_8>
24: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
28: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
2c: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
30: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
34: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
38: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
3c: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
40: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
44: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
48: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
4c: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
50: 0c 94 45 00 jmp 0x8a <__bad_interrupt>
00000054 <__ctors_end>:
54: 11 24 eor r1, r1
56: 1f be out 0x3f, r1 ; 63
58: cf e5 ldi r28, 0x5F ; 95
5a: d4 e0 ldi r29, 0x04 ; 4
5c: de bf out 0x3e, r29 ; 62
5e: cd bf out 0x3d, r28 ; 61
00000060 <__do_copy_data>:
60: 10 e0 ldi r17, 0x00 ; 0
62: a0 e6 ldi r26, 0x60 ; 96
64: b0 e0 ldi r27, 0x00 ; 0
66: ec e2 ldi r30, 0x2C ; 44
68: f2 e0 ldi r31, 0x02 ; 2
6a: 02 c0 rjmp .+4 ; 0x70 <.do_copy_data_start>
0000006c <.do_copy_data_loop>:
6c: 05 90 lpm r0, Z+
6e: 0d 92 st X+, r0
00000070 <.do_copy_data_start>:
70: a8 39 cpi r26, 0x98 ; 152
72: b1 07 cpc r27, r17
74: d9 f7 brne .-10 ; 0x6c <.do_copy_data_loop>
00000076 <__do_clear_bss>:
76: 10 e0 ldi r17, 0x00 ; 0
78: a8 e9 ldi r26, 0x98 ; 152
7a: b0 e0 ldi r27, 0x00 ; 0
7c: 01 c0 rjmp .+2 ; 0x80 <.do_clear_bss_start>
0000007e <.do_clear_bss_loop>:
7e: 1d 92 st X+, r1
00000080 <.do_clear_bss_start>:
80: ac 39 cpi r26, 0x9C ; 156
82: b1 07 cpc r27, r17
84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop>
86: 0c 94 d1 00 jmp 0x1a2 <main>
0000008a <__bad_interrupt>:
8a: 0c 94 00 00 jmp 0x0 <__vectors>
0000008e <shuru>:
#pragma data:code
const ADREE[]={0x0100,0x0200,0x0300,0x0400,0x0500,0x0600,0x0700,0x0800,0x0c01,0x0a04,0x0b07,0x09ff};
void shuru(uint wei,uint shu,uint dian)
{
8e: fb 01 movw r30, r22
90: dc 01 movw r26, r24
92: aa 0f add r26, r26
94: bb 1f adc r27, r27
96: e6 0f add r30, r22
98: f7 1f adc r31, r23
uint i,j,k;
k=0x0080;
if(dian==0)
9a: 45 2b or r20, r21
9c: 59 f4 brne .+22 ; 0xb4 <shuru+0x26>
j=ADREE[wei]|table[shu];
9e: a0 5a subi r26, 0xA0 ; 160
a0: bf 4f sbci r27, 0xFF ; 255
a2: e8 58 subi r30, 0x88 ; 136
a4: ff 4f sbci r31, 0xFF ; 255
a6: 2d 91 ld r18, X+
a8: 3c 91 ld r19, X
aa: 80 81 ld r24, Z
ac: 91 81 ldd r25, Z+1 ; 0x01
ae: 28 2b or r18, r24
b0: 39 2b or r19, r25
b2: 0b c0 rjmp .+22 ; 0xca <shuru+0x3c>
else
j=ADREE[wei]|table[shu]|k;
b4: a0 5a subi r26, 0xA0 ; 160
b6: bf 4f sbci r27, 0xFF ; 255
b8: e8 58 subi r30, 0x88 ; 136
ba: ff 4f sbci r31, 0xFF ; 255
bc: 2d 91 ld r18, X+
be: 3c 91 ld r19, X
c0: 80 81 ld r24, Z
c2: 91 81 ldd r25, Z+1 ; 0x01
c4: 28 2b or r18, r24
c6: 39 2b or r19, r25
c8: 20 68 ori r18, 0x80 ; 128
for(i=0x8000;i>=0x0001;i=i>>1)
ca: 40 e0 ldi r20, 0x00 ; 0
cc: 50 e8 ldi r21, 0x80 ; 128
{
if((i&j)==0)
ce: ca 01 movw r24, r20
d0: 82 23 and r24, r18
d2: 93 23 and r25, r19
d4: 89 2b or r24, r25
d6: 11 f4 brne .+4 ; 0xdc <shuru+0x4e>
din=0;
d8: c0 98 cbi 0x18, 0 ; 24
da: 01 c0 rjmp .+2 ; 0xde <shuru+0x50>
else
din=1;
dc: c0 9a sbi 0x18, 0 ; 24
clk=1;
de: c1 9a sbi 0x18, 1 ; 24
clk=0;
e0: c1 98 cbi 0x18, 1 ; 24
e2: 56 95 lsr r21
e4: 47 95 ror r20
e6: 41 15 cp r20, r1
e8: 51 05 cpc r21, r1
ea: 89 f7 brne .-30 ; 0xce <shuru+0x40>
}
load=1;
ec: c2 9a sbi 0x18, 2 ; 24
load=0;
ee: c2 98 cbi 0x18, 2 ; 24
f0: 08 95 ret
000000f2 <shezhi>:
}
void shezhi()
{
shuru(8,0,0);
f2: 40 e0 ldi r20, 0x00 ; 0
f4: 50 e0 ldi r21, 0x00 ; 0
f6: ba 01 movw r22, r20
f8: 88 e0 ldi r24, 0x08 ; 8
fa: 90 e0 ldi r25, 0x00 ; 0
fc: 0e 94 47 00 call 0x8e <shuru>
shuru(9,0,0);
100: 40 e0 ldi r20, 0x00 ; 0
102: 50 e0 ldi r21, 0x00 ; 0
104: ba 01 movw r22, r20
106: 89 e0 ldi r24, 0x09 ; 9
108: 90 e0 ldi r25, 0x00 ; 0
10a: 0e 94 47 00 call 0x8e <shuru>
shuru(10,0,0);
10e: 40 e0 ldi r20, 0x00 ; 0
110: 50 e0 ldi r21, 0x00 ; 0
112: ba 01 movw r22, r20
114: 8a e0 ldi r24, 0x0A ; 10
116: 90 e0 ldi r25, 0x00 ; 0
118: 0e 94 47 00 call 0x8e <shuru>
shuru(11,0,0);
11c: 40 e0 ldi r20, 0x00 ; 0
11e: 50 e0 ldi r21, 0x00 ; 0
120: ba 01 movw r22, r20
122: 8b e0 ldi r24, 0x0B ; 11
124: 90 e0 ldi r25, 0x00 ; 0
126: 0e 94 47 00 call 0x8e <shuru>
12a: 08 95 ret
0000012c <initial_T1>:
}
void initial_T1()//选择定时器类型
{
uint sreg;
sreg=SREG;
12c: 8f b7 in r24, 0x3f ; 63
12e: 28 2f mov r18, r24
130: 33 27 eor r19, r19
TCCR1B=1<<CS10;
132: 81 e0 ldi r24, 0x01 ; 1
134: 8e bd out 0x2e, r24 ; 46
TCNT1H=0x85;
136: 85 e8 ldi r24, 0x85 ; 133
138: 8d bd out 0x2d, r24 ; 45
TCNT1L=0xED;
13a: 8d ee ldi r24, 0xED ; 237
13c: 8c bd out 0x2c, r24 ; 44
SREG=sreg;
13e: 2f bf out 0x3f, r18 ; 63
140: 08 95 ret
00000142 <__vector_8>:
}
SIGNAL(SIG_OVERFLOW1)
{
142: 1f 92 push r1
144: 0f 92 push r0
146: 0f b6 in r0, 0x3f ; 63
148: 0f 92 push r0
14a: 11 24 eor r1, r1
14c: 8f 93 push r24
14e: 9f 93 push r25
count1++;
150: 80 91 9a 00 lds r24, 0x009A
154: 90 91 9b 00 lds r25, 0x009B
158: 01 96 adiw r24, 0x01 ; 1
15a: 90 93 9b 00 sts 0x009B, r25
15e: 80 93 9a 00 sts 0x009A, r24
if(count1==128)//定时一秒1/8*160
162: 80 38 cpi r24, 0x80 ; 128
164: 91 05 cpc r25, r1
166: b1 f4 brne .+44 ; 0x194 <__vector_8+0x52>
{
s++;
168: 80 91 98 00 lds r24, 0x0098
16c: 90 91 99 00 lds r25, 0x0099
170: 01 96 adiw r24, 0x01 ; 1
172: 90 93 99 00 sts 0x0099, r25
176: 80 93 98 00 sts 0x0098, r24
if(s==89)
17a: 89 35 cpi r24, 0x59 ; 89
17c: 91 05 cpc r25, r1
17e: 31 f4 brne .+12 ; 0x18c <__vector_8+0x4a>
s=9;
180: 89 e0 ldi r24, 0x09 ; 9
182: 90 e0 ldi r25, 0x00 ; 0
184: 90 93 99 00 sts 0x0099, r25
188: 80 93 98 00 sts 0x0098, r24
count1=0;
18c: 10 92 9b 00 sts 0x009B, r1
190: 10 92 9a 00 sts 0x009A, r1
194: 9f 91 pop r25
196: 8f 91 pop r24
198: 0f 90 pop r0
19a: 0f be out 0x3f, r0 ; 63
19c: 0f 90 pop r0
19e: 1f 90 pop r1
1a0: 18 95 reti
000001a2 <main>:
}
}
void main()
{
1a2: cf e5 ldi r28, 0x5F ; 95
1a4: d4 e0 ldi r29, 0x04 ; 4
1a6: de bf out 0x3e, r29 ; 62
1a8: cd bf out 0x3d, r28 ; 61
uint i=0,j=0;
1aa: 00 e0 ldi r16, 0x00 ; 0
1ac: 10 e0 ldi r17, 0x00 ; 0
din=0;
1ae: c0 98 cbi 0x18, 0 ; 24
clk=0;
1b0: c1 98 cbi 0x18, 1 ; 24
load=0;
1b2: c2 98 cbi 0x18, 2 ; 24
int k;
DDRB|=0x07;
1b4: 87 b3 in r24, 0x17 ; 23
1b6: 87 60 ori r24, 0x07 ; 7
1b8: 87 bb out 0x17, r24 ; 23
shezhi();
1ba: 0e 94 79 00 call 0xf2 <shezhi>
initial_T1();
1be: 0e 94 96 00 call 0x12c <initial_T1>
TIMSK = (1<<TOIE1);
1c2: 84 e0 ldi r24, 0x04 ; 4
1c4: 89 bf out 0x39, r24 ; 57
sei();
1c6: 78 94 sei
while(1)
{
for(j=0;j<8;j++)
1c8: c0 e0 ldi r28, 0x00 ; 0
1ca: d0 e0 ldi r29, 0x00 ; 0
{
k=s-j;
1cc: 60 91 98 00 lds r22, 0x0098
1d0: 70 91 99 00 lds r23, 0x0099
1d4: 6c 1b sub r22, r28
1d6: 7d 0b sbc r23, r29
if(k<=0)
1d8: 16 16 cp r1, r22
1da: 17 06 cpc r1, r23
1dc: 14 f0 brlt .+4 ; 0x1e2 <main+0x40>
k=0;
1de: 60 e0 ldi r22, 0x00 ; 0
1e0: 70 e0 ldi r23, 0x00 ; 0
shuru(j,k,0);
1e2: 40 e0 ldi r20, 0x00 ; 0
1e4: 50 e0 ldi r21, 0x00 ; 0
1e6: ce 01 movw r24, r28
1e8: 0e 94 47 00 call 0x8e <shuru>
1ec: 21 96 adiw r28, 0x01 ; 1
1ee: c8 30 cpi r28, 0x08 ; 8
1f0: d1 05 cpc r29, r1
1f2: 60 f3 brcs .-40 ; 0x1cc <main+0x2a>
}
if(s=9) break;
1f4: 89 e0 ldi r24, 0x09 ; 9
1f6: 90 e0 ldi r25, 0x00 ; 0
1f8: 90 93 99 00 sts 0x0099, r25
1fc: 80 93 98 00 sts 0x0098, r24
}
while(1)
{
shuru(i,(s-i)%16,1);
200: 80 91 98 00 lds r24, 0x0098
204: 90 91 99 00 lds r25, 0x0099
208: 80 1b sub r24, r16
20a: 91 0b sbc r25, r17
20c: 8f 70 andi r24, 0x0F ; 15
20e: 90 70 andi r25, 0x00 ; 0
210: 41 e0 ldi r20, 0x01 ; 1
212: 50 e0 ldi r21, 0x00 ; 0
214: bc 01 movw r22, r24
216: c8 01 movw r24, r16
218: 0e 94 47 00 call 0x8e <shuru>
i++;
21c: 0f 5f subi r16, 0xFF ; 255
21e: 1f 4f sbci r17, 0xFF ; 255
if(i==8)
220: 08 30 cpi r16, 0x08 ; 8
222: 11 05 cpc r17, r1
224: 69 f7 brne .-38 ; 0x200 <main+0x5e>
i=0;
226: 00 e0 ldi r16, 0x00 ; 0
228: 10 e0 ldi r17, 0x00 ; 0
22a: ea cf rjmp .-44 ; 0x200 <main+0x5e>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -