?? steper.lss
字號:
steper.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000065a 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 0000000a 00800060 0000065a 000006ce 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000011 0080006a 00000664 000006d8 2**0
ALLOC
3 .stab 00000cd8 00000000 00000000 000006d8 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 000008ff 00000000 00000000 000013b0 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
2: bb c0 rjmp .+374 ; 0x17a <__vector_1>
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: 44 c1 rjmp .+648 ; 0x29a <__vector_8>
12: ea c0 rjmp .+468 ; 0x1e8 <__vector_9>
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: ea e5 ldi r30, 0x5A ; 90
3a: f6 e0 ldi r31, 0x06 ; 6
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: aa 36 cpi r26, 0x6A ; 106
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: aa e6 ldi r26, 0x6A ; 106
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: ab 37 cpi r26, 0x7B ; 123
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop>
58: 7d d2 rcall .+1274 ; 0x554 <main>
5a: fd c2 rjmp .+1530 ; 0x656 <_exit>
0000005c <__bad_interrupt>:
5c: d1 cf rjmp .-94 ; 0x0 <__vectors>
0000005e <imaxabs>:
#endif /* __STDC_VERSION__ >= 199901 */
#endif /* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */
__CRT_INLINE intmax_t __cdecl imaxabs (intmax_t j)
{return (j >= 0 ? j : -j);}
5e: af 92 push r10
60: bf 92 push r11
62: cf 92 push r12
64: df 92 push r13
66: ef 92 push r14
68: ff 92 push r15
6a: 0f 93 push r16
6c: 1f 93 push r17
6e: f3 2f mov r31, r19
70: da 01 movw r26, r20
72: f6 2e mov r15, r22
74: d7 2e mov r13, r23
76: b8 2e mov r11, r24
78: 19 2f mov r17, r25
7a: e2 2f mov r30, r18
7c: 17 ff sbrs r17, 7
7e: 5f c0 rjmp .+190 ; 0x13e <imaxabs+0xe0>
80: a2 2e mov r10, r18
82: a1 94 neg r10
84: e1 e0 ldi r30, 0x01 ; 1
86: 1a 14 cp r1, r10
88: 08 f0 brcs .+2 ; 0x8c <imaxabs+0x2e>
8a: e0 e0 ldi r30, 0x00 ; 0
8c: 3f 2f mov r19, r31
8e: 31 95 neg r19
90: f1 e0 ldi r31, 0x01 ; 1
92: 13 16 cp r1, r19
94: 08 f0 brcs .+2 ; 0x98 <imaxabs+0x3a>
96: f0 e0 ldi r31, 0x00 ; 0
98: c3 2e mov r12, r19
9a: ce 1a sub r12, r30
9c: e1 e0 ldi r30, 0x01 ; 1
9e: 3c 15 cp r19, r12
a0: 08 f0 brcs .+2 ; 0xa4 <imaxabs+0x46>
a2: e0 e0 ldi r30, 0x00 ; 0
a4: fe 2b or r31, r30
a6: 4a 2f mov r20, r26
a8: 41 95 neg r20
aa: a1 e0 ldi r26, 0x01 ; 1
ac: 14 16 cp r1, r20
ae: 08 f0 brcs .+2 ; 0xb2 <imaxabs+0x54>
b0: a0 e0 ldi r26, 0x00 ; 0
b2: e4 2e mov r14, r20
b4: ef 1a sub r14, r31
b6: e1 e0 ldi r30, 0x01 ; 1
b8: 4e 15 cp r20, r14
ba: 08 f0 brcs .+2 ; 0xbe <imaxabs+0x60>
bc: e0 e0 ldi r30, 0x00 ; 0
be: ae 2b or r26, r30
c0: 5b 2f mov r21, r27
c2: 51 95 neg r21
c4: f1 e0 ldi r31, 0x01 ; 1
c6: 15 16 cp r1, r21
c8: 08 f0 brcs .+2 ; 0xcc <imaxabs+0x6e>
ca: f0 e0 ldi r31, 0x00 ; 0
cc: 05 2f mov r16, r21
ce: 0a 1b sub r16, r26
d0: e1 e0 ldi r30, 0x01 ; 1
d2: 50 17 cp r21, r16
d4: 08 f0 brcs .+2 ; 0xd8 <imaxabs+0x7a>
d6: e0 e0 ldi r30, 0x00 ; 0
d8: fe 2b or r31, r30
da: 6f 2d mov r22, r15
dc: 61 95 neg r22
de: a1 e0 ldi r26, 0x01 ; 1
e0: 16 16 cp r1, r22
e2: 08 f0 brcs .+2 ; 0xe6 <imaxabs+0x88>
e4: a0 e0 ldi r26, 0x00 ; 0
e6: 26 2f mov r18, r22
e8: 2f 1b sub r18, r31
ea: e1 e0 ldi r30, 0x01 ; 1
ec: 62 17 cp r22, r18
ee: 08 f0 brcs .+2 ; 0xf2 <imaxabs+0x94>
f0: e0 e0 ldi r30, 0x00 ; 0
f2: ae 2b or r26, r30
f4: 7d 2d mov r23, r13
f6: 71 95 neg r23
f8: f1 e0 ldi r31, 0x01 ; 1
fa: 17 16 cp r1, r23
fc: 08 f0 brcs .+2 ; 0x100 <imaxabs+0xa2>
fe: f0 e0 ldi r31, 0x00 ; 0
100: b7 2f mov r27, r23
102: ba 1b sub r27, r26
104: e1 e0 ldi r30, 0x01 ; 1
106: 7b 17 cp r23, r27
108: 08 f0 brcs .+2 ; 0x10c <imaxabs+0xae>
10a: e0 e0 ldi r30, 0x00 ; 0
10c: fe 2b or r31, r30
10e: 8b 2d mov r24, r11
110: 81 95 neg r24
112: a1 e0 ldi r26, 0x01 ; 1
114: 18 16 cp r1, r24
116: 08 f0 brcs .+2 ; 0x11a <imaxabs+0xbc>
118: a0 e0 ldi r26, 0x00 ; 0
11a: 98 2f mov r25, r24
11c: 9f 1b sub r25, r31
11e: f9 2f mov r31, r25
120: e1 e0 ldi r30, 0x01 ; 1
122: 89 17 cp r24, r25
124: 08 f0 brcs .+2 ; 0x128 <imaxabs+0xca>
126: e0 e0 ldi r30, 0x00 ; 0
128: ae 2b or r26, r30
12a: 91 2f mov r25, r17
12c: 91 95 neg r25
12e: ea 2d mov r30, r10
130: 3c 2d mov r19, r12
132: 4e 2d mov r20, r14
134: 50 2f mov r21, r16
136: 62 2f mov r22, r18
138: 7b 2f mov r23, r27
13a: 8f 2f mov r24, r31
13c: 9a 1b sub r25, r26
13e: 2e 2f mov r18, r30
140: 1f 91 pop r17
142: 0f 91 pop r16
144: ff 90 pop r15
146: ef 90 pop r14
148: df 90 pop r13
14a: cf 90 pop r12
14c: bf 90 pop r11
14e: af 90 pop r10
150: 08 95 ret
00000152 <eeprom_read_byte>:
/** \ingroup avr_eeprom
Read one byte from EEPROM address \a __p.
*/
__ATTR_PURE__ static __inline__ uint8_t eeprom_read_byte (const uint8_t *__p)
{
152: 9c 01 movw r18, r24
do {} while (!eeprom_is_ready ());
154: e1 99 sbic 0x1c, 1 ; 28
156: fe cf rjmp .-4 ; 0x154 <eeprom_read_byte+0x2>
#if E2END <= 0xFF
EEARL = (unsigned)__p;
#else
EEAR = (unsigned)__p;
158: 3f bb out 0x1f, r19 ; 31
15a: 2e bb out 0x1e, r18 ; 30
#endif
EECR |= (1 << EERE);
15c: e0 9a sbi 0x1c, 0 ; 28
return EEDR;
15e: 8d b3 in r24, 0x1d ; 29
}
160: 08 95 ret
00000162 <eeprom_write_byte>:
/** \ingroup avr_eeprom
Write a byte \a __value to EEPROM address \a __p.
*/
static __inline__ void eeprom_write_byte (uint8_t *__p, uint8_t __value)
{
162: 9c 01 movw r18, r24
do {} while (!eeprom_is_ready ());
164: e1 99 sbic 0x1c, 1 ; 28
166: fe cf rjmp .-4 ; 0x164 <eeprom_write_byte+0x2>
#endif
#if E2END <= 0xFF
EEARL = (unsigned)__p;
#else
EEAR = (unsigned)__p;
168: 3f bb out 0x1f, r19 ; 31
16a: 2e bb out 0x1e, r18 ; 30
#endif
EEDR = __value;
16c: 6d bb out 0x1d, r22 ; 29
__asm__ __volatile__ (
16e: 0f b6 in r0, 0x3f ; 63
170: f8 94 cli
172: e2 9a sbi 0x1c, 2 ; 28
174: e1 9a sbi 0x1c, 1 ; 28
176: 0f be out 0x3f, r0 ; 63
[__sreg] "i" (_SFR_IO_ADDR(SREG)),
[__eemwe] "i" (EEMWE),
[__eewe] "i" (EEWE)
: "r0"
);
}
178: 08 95 ret
0000017a <__vector_1>:
T0End:
;
}
ISR(SIG_INTERRUPT0)
{
17a: 1f 92 push r1
17c: 0f 92 push r0
17e: 0f b6 in r0, 0x3f ; 63
180: 0f 92 push r0
182: 11 24 eor r1, r1
184: 8f 93 push r24
cli();
186: f8 94 cli
StepperStop();
188: 1e bc out 0x2e, r1 ; 46
18a: 93 98 cbi 0x12, 3 ; 18
18c: 85 b3 in r24, 0x15 ; 21
18e: 83 7f andi r24, 0xF3 ; 243
190: 85 bb out 0x15, r24 ; 21
key_limit=(PINB & 0X30);
192: 86 b3 in r24, 0x16 ; 22
194: 80 73 andi r24, 0x30 ; 48
196: 80 93 77 00 sts 0x0077, r24
if(key_limit==0x20) //前限位
19a: 80 91 77 00 lds r24, 0x0077
19e: 80 32 cpi r24, 0x20 ; 32
1a0: 31 f4 brne .+12 ; 0x1ae <__vector_1+0x34>
{
Direction=1;
1a2: 81 e0 ldi r24, 0x01 ; 1
1a4: 80 93 6a 00 sts 0x006A, r24
Limit=0;
1a8: 10 92 6b 00 sts 0x006B, r1
1ac: 09 c0 rjmp .+18 ; 0x1c0 <__vector_1+0x46>
}
else if(key_limit==0x10) //后限位
1ae: 80 91 77 00 lds r24, 0x0077
1b2: 80 31 cpi r24, 0x10 ; 16
1b4: 29 f4 brne .+10 ; 0x1c0 <__vector_1+0x46>
{
Direction=0;
1b6: 10 92 6a 00 sts 0x006A, r1
Limit=1;
1ba: 81 e0 ldi r24, 0x01 ; 1
1bc: 80 93 6b 00 sts 0x006B, r24
}
Pflag=1;
1c0: 81 e0 ldi r24, 0x01 ; 1
1c2: 80 93 6c 00 sts 0x006C, r24
Pcnt=0;
1c6: 10 92 7a 00 sts 0x007A, r1
1ca: 10 92 79 00 sts 0x0079, r1
StepperStart();
1ce: 93 9a sbi 0x12, 3 ; 18
1d0: 85 e0 ldi r24, 0x05 ; 5
1d2: 8e bd out 0x2e, r24 ; 46
1d4: 89 b7 in r24, 0x39 ; 57
1d6: 84 60 ori r24, 0x04 ; 4
1d8: 89 bf out 0x39, r24 ; 57
sei();
1da: 78 94 sei
}
1dc: 8f 91 pop r24
1de: 0f 90 pop r0
1e0: 0f be out 0x3f, r0 ; 63
1e2: 0f 90 pop r0
1e4: 1f 90 pop r1
1e6: 18 95 reti
000001e8 <__vector_9>:
ISR(SIG_OVERFLOW0)
{
1e8: 1f 92 push r1
1ea: 0f 92 push r0
1ec: 0f b6 in r0, 0x3f ; 63
1ee: 0f 92 push r0
1f0: 11 24 eor r1, r1
1f2: 6f 93 push r22
1f4: 7f 93 push r23
1f6: 8f 93 push r24
1f8: 9f 93 push r25
TCNT0=0x64;
1fa: 84 e6 ldi r24, 0x64 ; 100
1fc: 82 bf out 0x32, r24 ; 50
CurKey=(PINB & 0X0F);
1fe: 86 b3 in r24, 0x16 ; 22
200: 8f 70 andi r24, 0x0F ; 15
202: 80 93 75 00 sts 0x0075, r24
if(CurKey==LastKey)
206: 90 91 75 00 lds r25, 0x0075
20a: 80 91 60 00 lds r24, 0x0060
20e: 98 17 cp r25, r24
210: e1 f4 brne .+56 ; 0x24a <__vector_9+0x62>
{
keytimes++;
212: 80 91 76 00 lds r24, 0x0076
216: 8f 5f subi r24, 0xFF ; 255
218: 80 93 76 00 sts 0x0076, r24
if(keytimes%5==0)//短按
21c: 80 91 76 00 lds r24, 0x0076
220: 65 e0 ldi r22, 0x05 ; 5
222: 0d d2 rcall .+1050 ; 0x63e <__udivmodqi4>
224: 99 23 and r25, r25
226: 21 f4 brne .+8 ; 0x230 <__vector_9+0x48>
{
keycode=(ShortPush|CurKey);
228: 80 91 75 00 lds r24, 0x0075
22c: 80 64 ori r24, 0x40 ; 64
22e: 0a c0 rjmp .+20 ; 0x244 <__vector_9+0x5c>
}
else if(keytimes>100) //長按
230: 80 91 76 00 lds r24, 0x0076
234: 85 36 cpi r24, 0x65 ; 101
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -