📄 step_motor.lst
字号:
step_motor.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000004 00800100 0000012e 000001c2 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 0000012e 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000001 00800104 00800104 000001c6 2**0
ALLOC
3 .noinit 00000000 00800105 00800105 000001c6 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 000001c6 2**0
CONTENTS
5 .stab 00000408 00000000 00000000 000001c8 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 00000084 00000000 00000000 000005d0 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_aranges 00000014 00000000 00000000 00000654 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 00000054 00000000 00000000 00000668 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_info 00000144 00000000 00000000 000006bc 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_abbrev 000000b6 00000000 00000000 00000800 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_line 000000c7 00000000 00000000 000008b6 2**0
CONTENTS, READONLY, DEBUGGING
12 .debug_str 000000cd 00000000 00000000 0000097d 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c <__ctors_end>
4: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
8: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
10: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
14: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
18: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
1c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
20: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
24: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
28: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
2c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
30: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
34: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
38: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
3c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
40: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
44: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
48: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
4c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
50: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
54: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
58: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
5c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
60: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
64: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
68: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
6c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
70: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
74: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
78: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
7c: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
80: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
84: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
88: 0c 94 63 00 jmp 0xc6 <__bad_interrupt>
0000008c <__ctors_end>:
8c: 11 24 eor r1, r1
8e: 1f be out 0x3f, r1 ; 63
90: cf ef ldi r28, 0xFF ; 255
92: d0 e1 ldi r29, 0x10 ; 16
94: de bf out 0x3e, r29 ; 62
96: cd bf out 0x3d, r28 ; 61
00000098 <__do_copy_data>:
98: 11 e0 ldi r17, 0x01 ; 1
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: ee e2 ldi r30, 0x2E ; 46
a0: f1 e0 ldi r31, 0x01 ; 1
a2: 00 e0 ldi r16, 0x00 ; 0
a4: 0b bf out 0x3b, r16 ; 59
a6: 02 c0 rjmp .+4 ; 0xac <__do_copy_data+0x14>
a8: 07 90 elpm r0, Z+
aa: 0d 92 st X+, r0
ac: a4 30 cpi r26, 0x04 ; 4
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8 <__do_copy_data+0x10>
000000b2 <__do_clear_bss>:
b2: 11 e0 ldi r17, 0x01 ; 1
b4: a4 e0 ldi r26, 0x04 ; 4
b6: b1 e0 ldi r27, 0x01 ; 1
b8: 01 c0 rjmp .+2 ; 0xbc <.do_clear_bss_start>
000000ba <.do_clear_bss_loop>:
ba: 1d 92 st X+, r1
000000bc <.do_clear_bss_start>:
bc: a5 30 cpi r26, 0x05 ; 5
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop>
c2: 0c 94 8c 00 jmp 0x118 <main>
000000c6 <__bad_interrupt>:
c6: 0c 94 00 00 jmp 0x0 <__vectors>
000000ca <delay>:
void delay(unsigned int d1,unsigned int d2)
{
unsigned int i,j;
for(i=0;i<d1;i++)
ca: 40 e0 ldi r20, 0x00 ; 0
cc: 50 e0 ldi r21, 0x00 ; 0
ce: 48 17 cp r20, r24
d0: 59 07 cpc r21, r25
d2: 68 f4 brcc .+26 ; 0xee <delay+0x24>
{
for(j=0;j<d2;j++);
d4: 20 e0 ldi r18, 0x00 ; 0
d6: 30 e0 ldi r19, 0x00 ; 0
d8: 02 c0 rjmp .+4 ; 0xde <delay+0x14>
da: 2f 5f subi r18, 0xFF ; 255
dc: 3f 4f sbci r19, 0xFF ; 255
de: 26 17 cp r18, r22
e0: 37 07 cpc r19, r23
e2: d8 f3 brcs .-10 ; 0xda <delay+0x10>
e4: 4f 5f subi r20, 0xFF ; 255
e6: 5f 4f sbci r21, 0xFF ; 255
e8: 48 17 cp r20, r24
ea: 59 07 cpc r21, r25
ec: 98 f3 brcs .-26 ; 0xd4 <delay+0xa>
ee: 08 95 ret
000000f0 <go_step_2phase>:
}
}
void go_step_2phase(unsigned int time)
{
PORTD=two_phase[phase_pnt++]<<4; // 输出高4位的值
f0: 30 91 04 01 lds r19, 0x0104
f4: e3 2f mov r30, r19
f6: ff 27 eor r31, r31
f8: e0 50 subi r30, 0x00 ; 0
fa: ff 4f sbci r31, 0xFF ; 255
fc: 20 81 ld r18, Z
fe: 22 95 swap r18
100: 20 7f andi r18, 0xF0 ; 240
102: 3f 5f subi r19, 0xFF ; 255
104: 30 93 04 01 sts 0x0104, r19
108: 22 bb out 0x12, r18 ; 18
phase_pnt&0x03; // 若(phase_pnt==4),则phase_pnt=0
10a: 20 91 04 01 lds r18, 0x0104
delay(time,100);
10e: 64 e6 ldi r22, 0x64 ; 100
110: 70 e0 ldi r23, 0x00 ; 0
112: 0e 94 65 00 call 0xca <delay>
116: 08 95 ret
00000118 <main>:
118: cf ef ldi r28, 0xFF ; 255
11a: d0 e1 ldi r29, 0x10 ; 16
11c: de bf out 0x3e, r29 ; 62
11e: cd bf out 0x3d, r28 ; 61
120: 80 ef ldi r24, 0xF0 ; 240
122: 81 bb out 0x11, r24 ; 17
124: 8c eb ldi r24, 0xBC ; 188
126: 92 e0 ldi r25, 0x02 ; 2
128: 0e 94 78 00 call 0xf0 <go_step_2phase>
12c: fb cf rjmp .-10 ; 0x124 <main+0xc>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -