📄 test.lss
字号:
test.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00001142 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .bss 0000012b 00800060 00800060 000011b6 2**0
ALLOC
2 .stab 00002694 00000000 00000000 000011b8 2**2
CONTENTS, READONLY, DEBUGGING
3 .stabstr 0000134f 00000000 00000000 0000384c 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 13 c0 rjmp .+38 ; 0x28 <__ctors_end>
2: 85 c1 rjmp .+778 ; 0x30e <__vector_1>
4: 22 c1 rjmp .+580 ; 0x24a <__vector_2>
6: 35 c0 rjmp .+106 ; 0x72 <__bad_interrupt>
8: 34 c0 rjmp .+104 ; 0x72 <__bad_interrupt>
a: 33 c0 rjmp .+102 ; 0x72 <__bad_interrupt>
c: 32 c0 rjmp .+100 ; 0x72 <__bad_interrupt>
e: 31 c0 rjmp .+98 ; 0x72 <__bad_interrupt>
10: 30 c0 rjmp .+96 ; 0x72 <__bad_interrupt>
12: 7f c3 rjmp .+1790 ; 0x712 <__vector_9>
14: 2e c0 rjmp .+92 ; 0x72 <__bad_interrupt>
16: 2d c0 rjmp .+90 ; 0x72 <__bad_interrupt>
18: 2c c0 rjmp .+88 ; 0x72 <__bad_interrupt>
1a: 2b c0 rjmp .+86 ; 0x72 <__bad_interrupt>
1c: 2a c0 rjmp .+84 ; 0x72 <__bad_interrupt>
1e: 29 c0 rjmp .+82 ; 0x72 <__bad_interrupt>
20: 28 c0 rjmp .+80 ; 0x72 <__bad_interrupt>
22: 27 c0 rjmp .+78 ; 0x72 <__bad_interrupt>
24: 26 c0 rjmp .+76 ; 0x72 <__bad_interrupt>
00000026 <__ctors_start>:
26: ed 01 movw r28, r26
00000028 <__ctors_end>:
28: 11 24 eor r1, r1
2a: 1f be out 0x3f, r1 ; 63
2c: cf e5 ldi r28, 0x5F ; 95
2e: d4 e0 ldi r29, 0x04 ; 4
30: de bf out 0x3e, r29 ; 62
32: cd bf out 0x3d, r28 ; 61
00000034 <__do_copy_data>:
34: 10 e0 ldi r17, 0x00 ; 0
36: a0 e6 ldi r26, 0x60 ; 96
38: b0 e0 ldi r27, 0x00 ; 0
3a: e2 e4 ldi r30, 0x42 ; 66
3c: f1 e1 ldi r31, 0x11 ; 17
3e: 02 c0 rjmp .+4 ; 0x44 <.do_copy_data_start>
00000040 <.do_copy_data_loop>:
40: 05 90 lpm r0, Z+
42: 0d 92 st X+, r0
00000044 <.do_copy_data_start>:
44: a0 36 cpi r26, 0x60 ; 96
46: b1 07 cpc r27, r17
48: d9 f7 brne .-10 ; 0x40 <.do_copy_data_loop>
0000004a <__do_clear_bss>:
4a: 11 e0 ldi r17, 0x01 ; 1
4c: a0 e6 ldi r26, 0x60 ; 96
4e: b0 e0 ldi r27, 0x00 ; 0
50: 01 c0 rjmp .+2 ; 0x54 <.do_clear_bss_start>
00000052 <.do_clear_bss_loop>:
52: 1d 92 st X+, r1
00000054 <.do_clear_bss_start>:
54: ab 38 cpi r26, 0x8B ; 139
56: b1 07 cpc r27, r17
58: e1 f7 brne .-8 ; 0x52 <.do_clear_bss_loop>
0000005a <__do_global_ctors>:
5a: 10 e0 ldi r17, 0x00 ; 0
5c: c8 e2 ldi r28, 0x28 ; 40
5e: d0 e0 ldi r29, 0x00 ; 0
60: 03 c0 rjmp .+6 ; 0x68 <.do_global_ctors_start>
00000062 <.do_global_ctors_loop>:
62: 22 97 sbiw r28, 0x02 ; 2
64: fe 01 movw r30, r28
66: 68 d8 rcall .-3888 ; 0xfffff138 <__eeprom_end+0xff7ef138>
00000068 <.do_global_ctors_start>:
68: c6 32 cpi r28, 0x26 ; 38
6a: d1 07 cpc r29, r17
6c: d1 f7 brne .-12 ; 0x62 <.do_global_ctors_loop>
6e: 80 d0 rcall .+256 ; 0x170 <main>
70: 67 c8 rjmp .-3890 ; 0xfffff140 <__eeprom_end+0xff7ef140>
00000072 <__bad_interrupt>:
72: c6 cf rjmp .-116 ; 0x0 <__vectors>
00000074 <task1>:
i++;
}//任务循环
}//任务0
void task1(unsigned int *ptr){//任务1/2
74: cf 93 push r28
76: df 93 push r29
78: ec 01 movw r28, r24
while(1){//任务循环
if(SososGetTaskId()==0x10){//任务1
7a: 77 d4 rcall .+2286 ; 0x96a <SososGetTaskId>
7c: 80 31 cpi r24, 0x10 ; 16
7e: 81 f4 brne .+32 ; 0xa0 <task1+0x2c>
SososWaitFlag(&event_flag1,1,1,0);//等待指定的事件
80: 20 e0 ldi r18, 0x00 ; 0
82: 41 e0 ldi r20, 0x01 ; 1
84: 61 e0 ldi r22, 0x01 ; 1
86: 8d eb ldi r24, 0xBD ; 189
88: 90 e0 ldi r25, 0x00 ; 0
8a: 41 d7 rcall .+3714 ; 0xf0e <SososWaitFlag>
SososChangeFlag(&event_flag1,1,SOSOS_FLAG_OPT_CLR);//改变事件标志
8c: 40 e0 ldi r20, 0x00 ; 0
8e: 61 e0 ldi r22, 0x01 ; 1
90: 8d eb ldi r24, 0xBD ; 189
92: 90 e0 ldi r25, 0x00 ; 0
94: e2 d7 rcall .+4036 ; 0x105a <SososChangeFlag>
(*ptr)++;//counter1
96: 88 81 ld r24, Y
98: 99 81 ldd r25, Y+1 ; 0x01
9a: 01 96 adiw r24, 0x01 ; 1
9c: 99 83 std Y+1, r25 ; 0x01
9e: 88 83 st Y, r24
}//任务1
if(SososGetTaskId()==0x11){//任务2
a0: 64 d4 rcall .+2248 ; 0x96a <SososGetTaskId>
a2: 81 31 cpi r24, 0x11 ; 17
a4: 81 f4 brne .+32 ; 0xc6 <task1+0x52>
SososWaitFlag(&event_flag2,2,2,0);//等待指定的事件
a6: 20 e0 ldi r18, 0x00 ; 0
a8: 42 e0 ldi r20, 0x02 ; 2
aa: 62 e0 ldi r22, 0x02 ; 2
ac: 86 e7 ldi r24, 0x76 ; 118
ae: 90 e0 ldi r25, 0x00 ; 0
b0: 2e d7 rcall .+3676 ; 0xf0e <SososWaitFlag>
SososChangeFlag(&event_flag2,2,SOSOS_FLAG_OPT_CLR);//改变事件标志
b2: 40 e0 ldi r20, 0x00 ; 0
b4: 62 e0 ldi r22, 0x02 ; 2
b6: 86 e7 ldi r24, 0x76 ; 118
b8: 90 e0 ldi r25, 0x00 ; 0
ba: cf d7 rcall .+3998 ; 0x105a <SososChangeFlag>
(*ptr)++;//counter2
bc: 88 81 ld r24, Y
be: 99 81 ldd r25, Y+1 ; 0x01
c0: 01 96 adiw r24, 0x01 ; 1
c2: 99 83 std Y+1, r25 ; 0x01
c4: 88 83 st Y, r24
}//任务2
SososGetMutex(&MUTEX_SEM,0);//获得互斥型信号量
c6: 60 e0 ldi r22, 0x00 ; 0
c8: 80 e7 ldi r24, 0x70 ; 112
ca: 90 e0 ldi r25, 0x00 ; 0
cc: 4e d6 rcall .+3228 ; 0xd6a <SososGetMutex>
SososDelay(1);//任务延时
ce: 81 e0 ldi r24, 0x01 ; 1
d0: 90 e0 ldi r25, 0x00 ; 0
d2: 83 d4 rcall .+2310 ; 0x9da <SososDelay>
com_counter++;
d4: 80 91 60 00 lds r24, 0x0060
d8: 90 91 61 00 lds r25, 0x0061
dc: 01 96 adiw r24, 0x01 ; 1
de: 90 93 61 00 sts 0x0061, r25
e2: 80 93 60 00 sts 0x0060, r24
SososFreeMutex(&MUTEX_SEM);//释放互斥型信号量
e6: 80 e7 ldi r24, 0x70 ; 112
e8: 90 e0 ldi r25, 0x00 ; 0
ea: f2 d6 rcall .+3556 ; 0xed0 <SososFreeMutex>
ec: c6 cf rjmp .-116 ; 0x7a <task1+0x6>
000000ee <task0>:
ee: 0f 93 push r16
f0: cf 93 push r28
f2: df 93 push r29
f4: cd b7 in r28, 0x3d ; 61
f6: de b7 in r29, 0x3e ; 62
f8: 24 97 sbiw r28, 0x04 ; 4
fa: 0f b6 in r0, 0x3f ; 63
fc: f8 94 cli
fe: de bf out 0x3e, r29 ; 62
100: 0f be out 0x3f, r0 ; 63
102: cd bf out 0x3d, r28 ; 61
104: 9a 83 std Y+2, r25 ; 0x02
106: 89 83 std Y+1, r24 ; 0x01
108: 1c 82 std Y+4, r1 ; 0x04
10a: 1b 82 std Y+3, r1 ; 0x03
10c: 0b 81 ldd r16, Y+3 ; 0x03
10e: 62 e0 ldi r22, 0x02 ; 2
110: 8f e7 ldi r24, 0x7F ; 127
112: 90 e0 ldi r25, 0x00 ; 0
114: 58 d5 rcall .+2736 ; 0xbc6 <SososLogicSemPend>
116: 80 93 6e 00 sts 0x006E, r24
11a: 88 23 and r24, r24
11c: b9 f4 brne .+46 ; 0x14c <task0+0x5e>
11e: e9 81 ldd r30, Y+1 ; 0x01
120: fa 81 ldd r31, Y+2 ; 0x02
122: 80 81 ld r24, Z
124: 91 81 ldd r25, Z+1 ; 0x01
126: 01 96 adiw r24, 0x01 ; 1
128: 91 83 std Z+1, r25 ; 0x01
12a: 80 83 st Z, r24
12c: 60 e0 ldi r22, 0x00 ; 0
12e: 80 e7 ldi r24, 0x70 ; 112
130: 90 e0 ldi r25, 0x00 ; 0
132: 1b d6 rcall .+3126 ; 0xd6a <SososGetMutex>
134: 80 91 60 00 lds r24, 0x0060
138: 90 91 61 00 lds r25, 0x0061
13c: 01 96 adiw r24, 0x01 ; 1
13e: 90 93 61 00 sts 0x0061, r25
142: 80 93 60 00 sts 0x0060, r24
146: 80 e7 ldi r24, 0x70 ; 112
148: 90 e0 ldi r25, 0x00 ; 0
14a: c2 d6 rcall .+3460 ; 0xed0 <SososFreeMutex>
14c: 00 fd sbrc r16, 0
14e: 05 c0 rjmp .+10 ; 0x15a <task0+0x6c>
150: 41 e0 ldi r20, 0x01 ; 1
152: 61 e0 ldi r22, 0x01 ; 1
154: 8d eb ldi r24, 0xBD ; 189
156: 90 e0 ldi r25, 0x00 ; 0
158: 04 c0 rjmp .+8 ; 0x162 <task0+0x74>
15a: 41 e0 ldi r20, 0x01 ; 1
15c: 62 e0 ldi r22, 0x02 ; 2
15e: 86 e7 ldi r24, 0x76 ; 118
160: 90 e0 ldi r25, 0x00 ; 0
162: 7b d7 rcall .+3830 ; 0x105a <SososChangeFlag>
164: 8b 81 ldd r24, Y+3 ; 0x03
166: 9c 81 ldd r25, Y+4 ; 0x04
168: 01 96 adiw r24, 0x01 ; 1
16a: 9c 83 std Y+4, r25 ; 0x04
16c: 8b 83 std Y+3, r24 ; 0x03
16e: ce cf rjmp .-100 ; 0x10c <task0+0x1e>
00000170 <main>:
170: 0f 93 push r16
172: cf 93 push r28
174: df 93 push r29
176: 85 b7 in r24, 0x35 ; 53
178: 82 60 ori r24, 0x02 ; 2
17a: 85 bf out 0x35, r24 ; 53
17c: 8b b7 in r24, 0x3b ; 59
17e: 80 64 ori r24, 0x40 ; 64
180: 8b bf out 0x3b, r24 ; 59
182: 8a 9a sbi 0x11, 2 ; 17
184: 92 9a sbi 0x12, 2 ; 18
186: 85 b7 in r24, 0x35 ; 53
188: 88 60 ori r24, 0x08 ; 8
18a: 85 bf out 0x35, r24 ; 53
18c: 8b b7 in r24, 0x3b ; 59
18e: 80 68 ori r24, 0x80 ; 128
190: 8b bf out 0x3b, r24 ; 59
192: 8b 9a sbi 0x11, 3 ; 17
194: 93 9a sbi 0x12, 3 ; 18
196: 50 d1 rcall .+672 ; 0x438 <SososInitOs>
198: 08 e6 ldi r16, 0x68 ; 104
19a: 10 e0 ldi r17, 0x00 ; 0
19c: 22 e3 ldi r18, 0x32 ; 50
19e: 30 e0 ldi r19, 0x00 ; 0
1a0: 40 e0 ldi r20, 0x00 ; 0
1a2: 60 e0 ldi r22, 0x00 ; 0
1a4: 87 e7 ldi r24, 0x77 ; 119
1a6: 90 e0 ldi r25, 0x00 ; 0
1a8: 10 d3 rcall .+1568 ; 0x7ca <SososCreateTask>
1aa: ca e3 ldi r28, 0x3A ; 58
1ac: d0 e0 ldi r29, 0x00 ; 0
1ae: 0a e6 ldi r16, 0x6A ; 106
1b0: 10 e0 ldi r17, 0x00 ; 0
1b2: 22 e3 ldi r18, 0x32 ; 50
1b4: 30 e0 ldi r19, 0x00 ; 0
1b6: 40 e0 ldi r20, 0x00 ; 0
1b8: 61 e0 ldi r22, 0x01 ; 1
1ba: ce 01 movw r24, r28
1bc: 06 d3 rcall .+1548 ; 0x7ca <SososCreateTask>
1be: 0c e6 ldi r16, 0x6C ; 108
1c0: 10 e0 ldi r17, 0x00 ; 0
1c2: 22 e3 ldi r18, 0x32 ; 50
1c4: 30 e0 ldi r19, 0x00 ; 0
1c6: 41 e0 ldi r20, 0x01 ; 1
1c8: 61 e0 ldi r22, 0x01 ; 1
1ca: ce 01 movw r24, r28
1cc: fe d2 rcall .+1532 ; 0x7ca <SososCreateTask>
1ce: 6a e0 ldi r22, 0x0A ; 10
1d0: 80 e0 ldi r24, 0x00 ; 0
1d2: 3a d4 rcall .+2164 ; 0xa48 <SososSetTimer>
1d4: 6f ef ldi r22, 0xFF ; 255
1d6: 8f e7 ldi r24, 0x7F ; 127
1d8: 90 e0 ldi r25, 0x00 ; 0
1da: ee d4 rcall .+2524 ; 0xbb8 <SososCreateLogicSem>
1dc: 60 e0 ldi r22, 0x00 ; 0
1de: 80 e7 ldi r24, 0x70 ; 112
1e0: 90 e0 ldi r25, 0x00 ; 0
1e2: 5d d5 rcall .+2746 ; 0xc9e <SososCreateMutex>
1e4: cf e6 ldi r28, 0x6F ; 111
1e6: d0 e0 ldi r29, 0x00 ; 0
1e8: 21 e0 ldi r18, 0x01 ; 1
1ea: 41 e0 ldi r20, 0x01 ; 1
1ec: be 01 movw r22, r28
1ee: 8d eb ldi r24, 0xBD ; 189
1f0: 90 e0 ldi r25, 0x00 ; 0
1f2: 7c d6 rcall .+3320 ; 0xeec <SososCreateFlag>
1f4: 22 e0 ldi r18, 0x02 ; 2
1f6: 42 e0 ldi r20, 0x02 ; 2
1f8: be 01 movw r22, r28
1fa: 86 e7 ldi r24, 0x76 ; 118
1fc: 90 e0 ldi r25, 0x00 ; 0
1fe: 76 d6 rcall .+3308 ; 0xeec <SososCreateFlag>
200: 49 d7 rcall .+3730 ; 0x1094 <SososStartOs>
202: 80 e0 ldi r24, 0x00 ; 0
204: 90 e0 ldi r25, 0x00 ; 0
206: df 91 pop r29
208: cf 91 pop r28
20a: 0f 91 pop r16
20c: 08 95 ret
0000020e <SososIdleHook>:
20e: 80 e0 ldi r24, 0x00 ; 0
210: 14 d4 rcall .+2088 ; 0xa3a <SososGetTimer>
212: 88 23 and r24, r24
214: 11 f4 brne .+4 ; 0x21a <SososIdleHook+0xc>
216: 6a e0 ldi r22, 0x0A ; 10
218: 17 d4 rcall .+2094 ; 0xa48 <SososSetTimer>
21a: 80 e0 ldi r24, 0x00 ; 0
21c: 0e d4 rcall .+2076 ; 0xa3a <SososGetTimer>
21e: 20 91 66 00 lds r18, 0x0066
222: 30 91 67 00 lds r19, 0x0067
226: 85 30 cpi r24, 0x05 ; 5
228: 48 f4 brcc .+18 ; 0x23c <SososIdleHook+0x2e>
22a: 21 50 subi r18, 0x01 ; 1
22c: 30 40 sbci r19, 0x00 ; 0
22e: 30 93 67 00 sts 0x0067, r19
232: 20 93 66 00 sts 0x0066, r18
236: 92 9a sbi 0x12, 2 ; 18
238: 92 98 cbi 0x12, 2 ; 18
23a: 08 95 ret
23c: 2f 5f subi r18, 0xFF ; 255
23e: 3f 4f sbci r19, 0xFF ; 255
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -