📄 user_code.lss
字号:
user_code.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 0000096c 00000000 00000000 00000094 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00800060 0000096c 00000a00 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000023 00800060 00800060 00000a00 2**0
ALLOC
3 .noinit 00000000 00800083 00800083 00000a00 2**0
CONTENTS
4 .eeprom 00000000 00810000 00810000 00000a00 2**0
CONTENTS
5 .stab 00000c84 00000000 00000000 00000a00 2**2
CONTENTS, READONLY, DEBUGGING
6 .stabstr 000007b1 00000000 00000000 00001684 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 12 c0 rjmp .+36 ; 0x26
2: 2b c0 rjmp .+86 ; 0x5a
4: 2a c0 rjmp .+84 ; 0x5a
6: 29 c0 rjmp .+82 ; 0x5a
8: 28 c0 rjmp .+80 ; 0x5a
a: 27 c0 rjmp .+78 ; 0x5a
c: 26 c0 rjmp .+76 ; 0x5a
e: 25 c0 rjmp .+74 ; 0x5a
10: 24 c0 rjmp .+72 ; 0x5a
12: 82 c4 rjmp .+2308 ; 0x918
14: 22 c0 rjmp .+68 ; 0x5a
16: 21 c0 rjmp .+66 ; 0x5a
18: 20 c0 rjmp .+64 ; 0x5a
1a: 1f c0 rjmp .+62 ; 0x5a
1c: 1e c0 rjmp .+60 ; 0x5a
1e: 1d c0 rjmp .+58 ; 0x5a
20: 1c c0 rjmp .+56 ; 0x5a
22: 1b c0 rjmp .+54 ; 0x5a
24: 1a c0 rjmp .+52 ; 0x5a
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: ec e6 ldi r30, 0x6C ; 108
3a: f9 e0 ldi r31, 0x09 ; 9
3c: 02 c0 rjmp .+4 ; 0x42
0000003e <.do_copy_data_loop>:
3e: 05 90 lpm r0, Z+
40: 0d 92 st X+, r0
00000042 <.do_copy_data_start>:
42: a0 36 cpi r26, 0x60 ; 96
44: b1 07 cpc r27, r17
46: d9 f7 brne .-10 ; 0x3e
00000048 <__do_clear_bss>:
48: 10 e0 ldi r17, 0x00 ; 0
4a: a0 e6 ldi r26, 0x60 ; 96
4c: b0 e0 ldi r27, 0x00 ; 0
4e: 01 c0 rjmp .+2 ; 0x52
00000050 <.do_clear_bss_loop>:
50: 1d 92 st X+, r1
00000052 <.do_clear_bss_start>:
52: a3 38 cpi r26, 0x83 ; 131
54: b1 07 cpc r27, r17
56: e1 f7 brne .-8 ; 0x50
58: b2 c3 rjmp .+1892 ; 0x7be
0000005a <__bad_interrupt>:
5a: d2 cf rjmp .-92 ; 0x0
0000005c <OS_CREATE_TASK>:
unsigned char task_ready, //线程状态
unsigned char task_pri, //线程优先级
unsigned int task_sp //线程分配堆栈
)
{
5c: cf 93 push r28
5e: df 93 push r29
60: cd b7 in r28, 0x3d ; 61
62: de b7 in r29, 0x3e ; 62
64: 2a 97 sbiw r28, 0x0a ; 10
66: 0f b6 in r0, 0x3f ; 63
68: f8 94 cli
6a: de bf out 0x3e, r29 ; 62
6c: 0f be out 0x3f, r0 ; 63
6e: cd bf out 0x3d, r28 ; 61
70: 89 83 std Y+1, r24 ; 0x01
72: 9a 83 std Y+2, r25 ; 0x02
74: 6b 83 std Y+3, r22 ; 0x03
76: 4c 83 std Y+4, r20 ; 0x04
78: 2d 83 std Y+5, r18 ; 0x05
7a: 3e 83 std Y+6, r19 ; 0x06
unsigned int temp_address;//处理线程入口地址临时变量
unsigned char *sp_temp; //初始化线程堆栈临时指针
OS_TASK_ARRY[OS_TASK_INT_USED].task_address=(unsigned int)task; //赋予线程地址
7c: 80 91 60 00 lds r24, 0x0060
80: 99 27 eor r25, r25
82: 88 0f add r24, r24
84: 99 1f adc r25, r25
86: 88 0f add r24, r24
88: 99 1f adc r25, r25
8a: 88 0f add r24, r24
8c: 99 1f adc r25, r25
8e: fc 01 movw r30, r24
90: ef 59 subi r30, 0x9F ; 159
92: ff 4f sbci r31, 0xFF ; 255
94: 89 81 ldd r24, Y+1 ; 0x01
96: 9a 81 ldd r25, Y+2 ; 0x02
98: 80 83 st Z, r24
9a: 91 83 std Z+1, r25 ; 0x01
OS_TASK_ARRY[OS_TASK_INT_USED].task_ready=task_ready; //赋予线程状态
9c: 80 91 60 00 lds r24, 0x0060
a0: 99 27 eor r25, r25
a2: 88 0f add r24, r24
a4: 99 1f adc r25, r25
a6: 88 0f add r24, r24
a8: 99 1f adc r25, r25
aa: 88 0f add r24, r24
ac: 99 1f adc r25, r25
ae: fc 01 movw r30, r24
b0: ec 59 subi r30, 0x9C ; 156
b2: ff 4f sbci r31, 0xFF ; 255
b4: 8b 81 ldd r24, Y+3 ; 0x03
b6: 80 83 st Z, r24
OS_TASK_ARRY[OS_TASK_INT_USED].task_pri=task_pri; //赋予线程优先级
b8: 80 91 60 00 lds r24, 0x0060
bc: 99 27 eor r25, r25
be: 88 0f add r24, r24
c0: 99 1f adc r25, r25
c2: 88 0f add r24, r24
c4: 99 1f adc r25, r25
c6: 88 0f add r24, r24
c8: 99 1f adc r25, r25
ca: fc 01 movw r30, r24
cc: ed 59 subi r30, 0x9D ; 157
ce: ff 4f sbci r31, 0xFF ; 255
d0: 8c 81 ldd r24, Y+4 ; 0x04
d2: 80 83 st Z, r24
//初始化线程堆栈
temp_address=(unsigned int)task;
d4: 89 81 ldd r24, Y+1 ; 0x01
d6: 9a 81 ldd r25, Y+2 ; 0x02
d8: 8f 83 std Y+7, r24 ; 0x07
da: 98 87 std Y+8, r25 ; 0x08
sp_temp=(unsigned int*)task_sp; //给指针赋值
dc: 8d 81 ldd r24, Y+5 ; 0x05
de: 9e 81 ldd r25, Y+6 ; 0x06
e0: 89 87 std Y+9, r24 ; 0x09
e2: 9a 87 std Y+10, r25 ; 0x0a
*sp_temp=(unsigned char)temp_address; //赋值入口地址低8位
e4: e9 85 ldd r30, Y+9 ; 0x09
e6: fa 85 ldd r31, Y+10 ; 0x0a
e8: 8f 81 ldd r24, Y+7 ; 0x07
ea: 80 83 st Z, r24
--sp_temp;
ec: 89 85 ldd r24, Y+9 ; 0x09
ee: 9a 85 ldd r25, Y+10 ; 0x0a
f0: 01 97 sbiw r24, 0x01 ; 1
f2: 89 87 std Y+9, r24 ; 0x09
f4: 9a 87 std Y+10, r25 ; 0x0a
*sp_temp=(unsigned char)(temp_address>>8); //赋值入口地址高8位
f6: e9 85 ldd r30, Y+9 ; 0x09
f8: fa 85 ldd r31, Y+10 ; 0x0a
fa: 8f 81 ldd r24, Y+7 ; 0x07
fc: 98 85 ldd r25, Y+8 ; 0x08
fe: 89 2f mov r24, r25
100: 99 27 eor r25, r25
102: 80 83 st Z, r24
--sp_temp;
104: 89 85 ldd r24, Y+9 ; 0x09
106: 9a 85 ldd r25, Y+10 ; 0x0a
108: 01 97 sbiw r24, 0x01 ; 1
10a: 89 87 std Y+9, r24 ; 0x09
10c: 9a 87 std Y+10, r25 ; 0x0a
*sp_temp--=0;//R0
10e: de 01 movw r26, r28
110: 19 96 adiw r26, 0x09 ; 9
112: 8d 91 ld r24, X+
114: 9c 91 ld r25, X
116: 11 97 sbiw r26, 0x01 ; 1
118: fc 01 movw r30, r24
11a: 10 82 st Z, r1
11c: 01 97 sbiw r24, 0x01 ; 1
11e: 8d 93 st X+, r24
120: 9c 93 st X, r25
*sp_temp--=0;//R1
122: de 01 movw r26, r28
124: 19 96 adiw r26, 0x09 ; 9
126: 8d 91 ld r24, X+
128: 9c 91 ld r25, X
12a: 11 97 sbiw r26, 0x01 ; 1
12c: fc 01 movw r30, r24
12e: 10 82 st Z, r1
130: 01 97 sbiw r24, 0x01 ; 1
132: 8d 93 st X+, r24
134: 9c 93 st X, r25
*sp_temp--=0;//R2
136: de 01 movw r26, r28
138: 19 96 adiw r26, 0x09 ; 9
13a: 8d 91 ld r24, X+
13c: 9c 91 ld r25, X
13e: 11 97 sbiw r26, 0x01 ; 1
140: fc 01 movw r30, r24
142: 10 82 st Z, r1
144: 01 97 sbiw r24, 0x01 ; 1
146: 8d 93 st X+, r24
148: 9c 93 st X, r25
*sp_temp--=0;//R3
14a: de 01 movw r26, r28
14c: 19 96 adiw r26, 0x09 ; 9
14e: 8d 91 ld r24, X+
150: 9c 91 ld r25, X
152: 11 97 sbiw r26, 0x01 ; 1
154: fc 01 movw r30, r24
156: 10 82 st Z, r1
158: 01 97 sbiw r24, 0x01 ; 1
15a: 8d 93 st X+, r24
15c: 9c 93 st X, r25
*sp_temp--=0;//R4
15e: de 01 movw r26, r28
160: 19 96 adiw r26, 0x09 ; 9
162: 8d 91 ld r24, X+
164: 9c 91 ld r25, X
166: 11 97 sbiw r26, 0x01 ; 1
168: fc 01 movw r30, r24
16a: 10 82 st Z, r1
16c: 01 97 sbiw r24, 0x01 ; 1
16e: 8d 93 st X+, r24
170: 9c 93 st X, r25
*sp_temp--=0;//R5
172: de 01 movw r26, r28
174: 19 96 adiw r26, 0x09 ; 9
176: 8d 91 ld r24, X+
178: 9c 91 ld r25, X
17a: 11 97 sbiw r26, 0x01 ; 1
17c: fc 01 movw r30, r24
17e: 10 82 st Z, r1
180: 01 97 sbiw r24, 0x01 ; 1
182: 8d 93 st X+, r24
184: 9c 93 st X, r25
*sp_temp--=0;//R6
186: de 01 movw r26, r28
188: 19 96 adiw r26, 0x09 ; 9
18a: 8d 91 ld r24, X+
18c: 9c 91 ld r25, X
18e: 11 97 sbiw r26, 0x01 ; 1
190: fc 01 movw r30, r24
192: 10 82 st Z, r1
194: 01 97 sbiw r24, 0x01 ; 1
196: 8d 93 st X+, r24
198: 9c 93 st X, r25
*sp_temp--=0;//R7
19a: de 01 movw r26, r28
19c: 19 96 adiw r26, 0x09 ; 9
19e: 8d 91 ld r24, X+
1a0: 9c 91 ld r25, X
1a2: 11 97 sbiw r26, 0x01 ; 1
1a4: fc 01 movw r30, r24
1a6: 10 82 st Z, r1
1a8: 01 97 sbiw r24, 0x01 ; 1
1aa: 8d 93 st X+, r24
1ac: 9c 93 st X, r25
*sp_temp--=0;//R8
1ae: de 01 movw r26, r28
1b0: 19 96 adiw r26, 0x09 ; 9
1b2: 8d 91 ld r24, X+
1b4: 9c 91 ld r25, X
1b6: 11 97 sbiw r26, 0x01 ; 1
1b8: fc 01 movw r30, r24
1ba: 10 82 st Z, r1
1bc: 01 97 sbiw r24, 0x01 ; 1
1be: 8d 93 st X+, r24
1c0: 9c 93 st X, r25
*sp_temp--=0;//R9
1c2: de 01 movw r26, r28
1c4: 19 96 adiw r26, 0x09 ; 9
1c6: 8d 91 ld r24, X+
1c8: 9c 91 ld r25, X
1ca: 11 97 sbiw r26, 0x01 ; 1
1cc: fc 01 movw r30, r24
1ce: 10 82 st Z, r1
1d0: 01 97 sbiw r24, 0x01 ; 1
1d2: 8d 93 st X+, r24
1d4: 9c 93 st X, r25
*sp_temp--=0;//R10
1d6: de 01 movw r26, r28
1d8: 19 96 adiw r26, 0x09 ; 9
1da: 8d 91 ld r24, X+
1dc: 9c 91 ld r25, X
1de: 11 97 sbiw r26, 0x01 ; 1
1e0: fc 01 movw r30, r24
1e2: 10 82 st Z, r1
1e4: 01 97 sbiw r24, 0x01 ; 1
1e6: 8d 93 st X+, r24
1e8: 9c 93 st X, r25
*sp_temp--=0;//R11
1ea: de 01 movw r26, r28
1ec: 19 96 adiw r26, 0x09 ; 9
1ee: 8d 91 ld r24, X+
1f0: 9c 91 ld r25, X
1f2: 11 97 sbiw r26, 0x01 ; 1
1f4: fc 01 movw r30, r24
1f6: 10 82 st Z, r1
1f8: 01 97 sbiw r24, 0x01 ; 1
1fa: 8d 93 st X+, r24
1fc: 9c 93 st X, r25
*sp_temp--=0;//R12
1fe: de 01 movw r26, r28
200: 19 96 adiw r26, 0x09 ; 9
202: 8d 91 ld r24, X+
204: 9c 91 ld r25, X
206: 11 97 sbiw r26, 0x01 ; 1
208: fc 01 movw r30, r24
20a: 10 82 st Z, r1
20c: 01 97 sbiw r24, 0x01 ; 1
20e: 8d 93 st X+, r24
210: 9c 93 st X, r25
*sp_temp--=0;//R13
212: de 01 movw r26, r28
214: 19 96 adiw r26, 0x09 ; 9
216: 8d 91 ld r24, X+
218: 9c 91 ld r25, X
21a: 11 97 sbiw r26, 0x01 ; 1
21c: fc 01 movw r30, r24
21e: 10 82 st Z, r1
220: 01 97 sbiw r24, 0x01 ; 1
222: 8d 93 st X+, r24
224: 9c 93 st X, r25
*sp_temp--=0;//R14
226: de 01 movw r26, r28
228: 19 96 adiw r26, 0x09 ; 9
22a: 8d 91 ld r24, X+
22c: 9c 91 ld r25, X
22e: 11 97 sbiw r26, 0x01 ; 1
230: fc 01 movw r30, r24
232: 10 82 st Z, r1
234: 01 97 sbiw r24, 0x01 ; 1
236: 8d 93 st X+, r24
238: 9c 93 st X, r25
*sp_temp--=0;//R15
23a: de 01 movw r26, r28
23c: 19 96 adiw r26, 0x09 ; 9
23e: 8d 91 ld r24, X+
240: 9c 91 ld r25, X
242: 11 97 sbiw r26, 0x01 ; 1
244: fc 01 movw r30, r24
246: 10 82 st Z, r1
248: 01 97 sbiw r24, 0x01 ; 1
24a: 8d 93 st X+, r24
24c: 9c 93 st X, r25
*sp_temp--=0;//R16
24e: de 01 movw r26, r28
250: 19 96 adiw r26, 0x09 ; 9
252: 8d 91 ld r24, X+
254: 9c 91 ld r25, X
256: 11 97 sbiw r26, 0x01 ; 1
258: fc 01 movw r30, r24
25a: 10 82 st Z, r1
25c: 01 97 sbiw r24, 0x01 ; 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -