📄 coder.lss
字号:
coder.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 000005fe 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 0000000c 00800060 000005fe 00000692 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 0000000a 0080006c 0080006c 0000069e 2**0
ALLOC
3 .noinit 00000000 00800076 00800076 0000069e 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 0000069e 2**0
CONTENTS
5 .stab 0000036c 00000000 00000000 000006a0 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 00000a0c 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000028 00000000 00000000 00000a90 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 000000ad 00000000 00000000 00000ab8 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 00000654 00000000 00000000 00000b65 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 000001b6 00000000 00000000 000011b9 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 000003a1 00000000 00000000 0000136f 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 00000156 00000000 00000000 00001710 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 2a 00 jmp 0x54 <__ctors_end>
4: 0c 94 47 00 jmp 0x8e <__vector_1>
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 45 00 jmp 0x8a <__bad_interrupt>
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: ee ef ldi r30, 0xFE ; 254
68: f5 e0 ldi r31, 0x05 ; 5
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: ac 36 cpi r26, 0x6C ; 108
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: ac e6 ldi r26, 0x6C ; 108
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: a6 37 cpi r26, 0x76 ; 118
82: b1 07 cpc r27, r17
84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop>
86: 0c 94 da 00 jmp 0x1b4 <main>
0000008a <__bad_interrupt>:
8a: 0c 94 00 00 jmp 0x0 <__vectors>
0000008e <__vector_1>:
入口参数:无
备 注:无
********************************************************************************/
SIGNAL(SIG_INTERRUPT0)
{
8e: 1f 92 push r1
90: 0f 92 push r0
92: 0f b6 in r0, 0x3f ; 63
94: 0f 92 push r0
96: 11 24 eor r1, r1
98: 2f 93 push r18
9a: 8f 93 push r24
9c: 9f 93 push r25
9e: af 93 push r26
a0: bf 93 push r27
if((PINC&(1<<0)) == 1)//顺时针时增加
a2: 98 9b sbis 0x13, 0 ; 19
a4: 3c c0 rjmp .+120 ; 0x11e <__vector_1+0x90>
{
step++;
a6: 80 91 70 00 lds r24, 0x0070
aa: 90 91 71 00 lds r25, 0x0071
ae: 01 96 adiw r24, 0x01 ; 1
b0: 90 93 71 00 sts 0x0071, r25
b4: 80 93 70 00 sts 0x0070, r24
if(step>=1000)
b8: 80 91 70 00 lds r24, 0x0070
bc: 90 91 71 00 lds r25, 0x0071
c0: 88 5e subi r24, 0xE8 ; 232
c2: 93 40 sbci r25, 0x03 ; 3
c4: b8 f0 brcs .+46 ; 0xf4 <__vector_1+0x66>
{
ring++;
c6: 80 91 72 00 lds r24, 0x0072
ca: 90 91 73 00 lds r25, 0x0073
ce: a0 91 74 00 lds r26, 0x0074
d2: b0 91 75 00 lds r27, 0x0075
d6: 01 96 adiw r24, 0x01 ; 1
d8: a1 1d adc r26, r1
da: b1 1d adc r27, r1
dc: 80 93 72 00 sts 0x0072, r24
e0: 90 93 73 00 sts 0x0073, r25
e4: a0 93 74 00 sts 0x0074, r26
e8: b0 93 75 00 sts 0x0075, r27
step = 0;
ec: 10 92 71 00 sts 0x0071, r1
f0: 10 92 70 00 sts 0x0070, r1
}
if(ring>=32766)
f4: 80 91 72 00 lds r24, 0x0072
f8: 90 91 73 00 lds r25, 0x0073
fc: a0 91 74 00 lds r26, 0x0074
100: b0 91 75 00 lds r27, 0x0075
104: 8e 5f subi r24, 0xFE ; 254
106: 9f 47 sbci r25, 0x7F ; 127
108: a0 40 sbci r26, 0x00 ; 0
10a: b0 40 sbci r27, 0x00 ; 0
10c: 44 f0 brlt .+16 ; 0x11e <__vector_1+0x90>
ring = 0;
10e: 10 92 72 00 sts 0x0072, r1
112: 10 92 73 00 sts 0x0073, r1
116: 10 92 74 00 sts 0x0074, r1
11a: 10 92 75 00 sts 0x0075, r1
}
if((PINC&(1<<0)) == 0)//逆时针时减小
11e: 98 99 sbic 0x13, 0 ; 19
120: 3f c0 rjmp .+126 ; 0x1a0 <__vector_1+0x112>
{
step--;
122: 80 91 70 00 lds r24, 0x0070
126: 90 91 71 00 lds r25, 0x0071
12a: 01 97 sbiw r24, 0x01 ; 1
12c: 90 93 71 00 sts 0x0071, r25
130: 80 93 70 00 sts 0x0070, r24
if(step>65534)
134: 80 91 70 00 lds r24, 0x0070
138: 90 91 71 00 lds r25, 0x0071
13c: 8f 5f subi r24, 0xFF ; 255
13e: 9f 4f sbci r25, 0xFF ; 255
140: c9 f4 brne .+50 ; 0x174 <__vector_1+0xe6>
{
ring--;
142: 80 91 72 00 lds r24, 0x0072
146: 90 91 73 00 lds r25, 0x0073
14a: a0 91 74 00 lds r26, 0x0074
14e: b0 91 75 00 lds r27, 0x0075
152: 01 97 sbiw r24, 0x01 ; 1
154: a1 09 sbc r26, r1
156: b1 09 sbc r27, r1
158: 80 93 72 00 sts 0x0072, r24
15c: 90 93 73 00 sts 0x0073, r25
160: a0 93 74 00 sts 0x0074, r26
164: b0 93 75 00 sts 0x0075, r27
step = 1000;
168: 88 ee ldi r24, 0xE8 ; 232
16a: 93 e0 ldi r25, 0x03 ; 3
16c: 90 93 71 00 sts 0x0071, r25
170: 80 93 70 00 sts 0x0070, r24
}
if(ring <0)
174: 80 91 72 00 lds r24, 0x0072
178: 90 91 73 00 lds r25, 0x0073
17c: a0 91 74 00 lds r26, 0x0074
180: b0 91 75 00 lds r27, 0x0075
184: b7 ff sbrs r27, 7
186: 0c c0 rjmp .+24 ; 0x1a0 <__vector_1+0x112>
{
ring = 0;
188: 10 92 72 00 sts 0x0072, r1
18c: 10 92 73 00 sts 0x0073, r1
190: 10 92 74 00 sts 0x0074, r1
194: 10 92 75 00 sts 0x0075, r1
step = 0;
198: 10 92 71 00 sts 0x0071, r1
19c: 10 92 70 00 sts 0x0070, r1
1a0: bf 91 pop r27
1a2: af 91 pop r26
1a4: 9f 91 pop r25
1a6: 8f 91 pop r24
1a8: 2f 91 pop r18
1aa: 0f 90 pop r0
1ac: 0f be out 0x3f, r0 ; 63
1ae: 0f 90 pop r0
1b0: 1f 90 pop r1
1b2: 18 95 reti
000001b4 <main>:
}
}
}
int main(void)
{
1b4: cf e5 ldi r28, 0x5F ; 95
1b6: d4 e0 ldi r29, 0x04 ; 4
1b8: de bf out 0x3e, r29 ; 62
1ba: cd bf out 0x3d, r28 ; 61
DDRB = (1<<0)|(1<<1);//驱动ZLG7290用
1bc: 83 e0 ldi r24, 0x03 ; 3
1be: 87 bb out 0x17, r24 ; 23
PORTB = 0x00;
1c0: 18 ba out 0x18, r1 ; 24
DDRC &= ~(1<<0);//PC0引脚,
1c2: a0 98 cbi 0x14, 0 ; 20
MCUCR=(1<<ISC01)|(0<<ISC00);//设定中断触发方式为下降沿触发
1c4: 82 e0 ldi r24, 0x02 ; 2
1c6: 85 bf out 0x35, r24 ; 53
GIFR=(1<<INTF0);//清中断标志,以免误触发中断
1c8: 80 e4 ldi r24, 0x40 ; 64
1ca: 8a bf out 0x3a, r24 ; 58
GICR=(1<<INT0);//外部中断0允许位
1cc: 8b bf out 0x3b, r24 ; 59
sei();//使能全局中断
1ce: 78 94 sei
while(1)
{
data_disp = (ring*1000+step);
1d0: 80 91 72 00 lds r24, 0x0072
1d4: 90 91 73 00 lds r25, 0x0073
1d8: a0 91 74 00 lds r26, 0x0074
1dc: b0 91 75 00 lds r27, 0x0075
1e0: bc 01 movw r22, r24
1e2: cd 01 movw r24, r26
1e4: 28 ee ldi r18, 0xE8 ; 232
1e6: 33 e0 ldi r19, 0x03 ; 3
1e8: 40 e0 ldi r20, 0x00 ; 0
1ea: 50 e0 ldi r21, 0x00 ; 0
1ec: 0e 94 be 02 call 0x57c <__mulsi3>
1f0: dc 01 movw r26, r24
1f2: cb 01 movw r24, r22
1f4: 20 91 70 00 lds r18, 0x0070
1f8: 30 91 71 00 lds r19, 0x0071
1fc: 44 27 eor r20, r20
1fe: 55 27 eor r21, r21
200: 82 0f add r24, r18
202: 93 1f adc r25, r19
204: a4 1f adc r26, r20
206: b5 1f adc r27, r21
208: 80 93 6c 00 sts 0x006C, r24
20c: 90 93 6d 00 sts 0x006D, r25
210: a0 93 6e 00 sts 0x006E, r26
214: b0 93 6f 00 sts 0x006F, r27
Disp_i2c_led(data_disp);
218: bc 01 movw r22, r24
21a: cd 01 movw r24, r26
21c: 0e 94 8e 01 call 0x31c <Disp_i2c_led>
220: d7 cf rjmp .-82 ; 0x1d0 <main+0x1c>
00000222 <start_i2c>:
*功能:启动I2C总线,即发送I2C起始条件
***********************************************************************************************/
void start_i2c(void)
{
SDA_1;
222: c0 9a sbi 0x18, 0 ; 24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -