?? ucos-ii.lss
字號(hào):
uCOS-II.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 0000010a 00800100 00002dc0 00002e34 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00002dc0 00000000 00000000 00000074 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000721 0080020a 00002eca 00002f3e 2**0
ALLOC
3 .stab 00007320 00000000 00000000 00002f40 2**2
CONTENTS, READONLY, DEBUGGING
4 .stabstr 00001f8b 00000000 00000000 0000a260 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 0c 94 46 00 jmp 0x8c ; 0x8c <__ctors_end>
4: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
8: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
c: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
10: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
14: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
18: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
1c: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
20: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
24: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
28: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
2c: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
30: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
34: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
38: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
3c: 0c 94 16 16 jmp 0x2c2c ; 0x2c2c <OSTickISR>
40: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
44: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
48: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
4c: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
50: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
54: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
58: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
5c: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
60: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
64: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
68: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
6c: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
70: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
74: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
78: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
7c: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
80: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
84: 0c 94 65 00 jmp 0xca ; 0xca <__bad_interrupt>
88: 0c 94 65 00 jmp 0xca ; 0xca <__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: 12 e0 ldi r17, 0x02 ; 2
9a: a0 e0 ldi r26, 0x00 ; 0
9c: b1 e0 ldi r27, 0x01 ; 1
9e: e0 ec ldi r30, 0xC0 ; 192
a0: fd e2 ldi r31, 0x2D ; 45
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: aa 30 cpi r26, 0x0A ; 10
ae: b1 07 cpc r27, r17
b0: d9 f7 brne .-10 ; 0xa8 <__do_copy_data+0x10>
000000b2 <__do_clear_bss>:
b2: 19 e0 ldi r17, 0x09 ; 9
b4: aa e0 ldi r26, 0x0A ; 10
b6: b2 e0 ldi r27, 0x02 ; 2
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: ab 32 cpi r26, 0x2B ; 43
be: b1 07 cpc r27, r17
c0: e1 f7 brne .-8 ; 0xba <.do_clear_bss_loop>
c2: 0e 94 20 15 call 0x2a40 ; 0x2a40 <main>
c6: 0c 94 de 16 jmp 0x2dbc ; 0x2dbc <_exit>
000000ca <__bad_interrupt>:
ca: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
000000ce <OSEventNameGet>:
*********************************************************************************************************
*/
#if OS_EVENT_EN && (OS_EVENT_NAME_SIZE > 1)
INT8U OSEventNameGet (OS_EVENT *pevent, INT8U *pname, INT8U *perr)
{
ce: cf 93 push r28
d0: df 93 push r29
d2: fc 01 movw r30, r24
d4: eb 01 movw r28, r22
d6: da 01 movw r26, r20
#endif
#if OS_ARG_CHK_EN > 0
if (perr == (INT8U *)0) { /* Validate 'perr' */
d8: 41 15 cp r20, r1
da: 51 05 cpc r21, r1
dc: 21 f0 breq .+8 ; 0xe6 <OSEventNameGet+0x18>
return (0);
}
if (pevent == (OS_EVENT *)0) { /* Is 'pevent' a NULL pointer? */
de: 00 97 sbiw r24, 0x00 ; 0
e0: 21 f4 brne .+8 ; 0xea <OSEventNameGet+0x1c>
*perr = OS_ERR_PEVENT_NULL;
e2: 84 e0 ldi r24, 0x04 ; 4
e4: 8c 93 st X, r24
e6: 20 e0 ldi r18, 0x00 ; 0
e8: 20 c0 rjmp .+64 ; 0x12a <OSEventNameGet+0x5c>
return (0);
}
if (pname == (INT8U *)0) { /* Is 'pname' a NULL pointer? */
ea: 61 15 cp r22, r1
ec: 71 05 cpc r23, r1
ee: 11 f4 brne .+4 ; 0xf4 <OSEventNameGet+0x26>
*perr = OS_ERR_PNAME_NULL;
f0: 8c e0 ldi r24, 0x0C ; 12
f2: f8 cf rjmp .-16 ; 0xe4 <OSEventNameGet+0x16>
return (0);
}
#endif
if (OSIntNesting > 0) { /* See if trying to call from an ISR */
f4: 80 91 16 03 lds r24, 0x0316
f8: 88 23 and r24, r24
fa: 11 f0 breq .+4 ; 0x100 <OSEventNameGet+0x32>
*perr = OS_ERR_NAME_GET_ISR;
fc: 81 e1 ldi r24, 0x11 ; 17
fe: f2 cf rjmp .-28 ; 0xe4 <OSEventNameGet+0x16>
return (0);
}
switch (pevent->OSEventType) {
100: 80 81 ld r24, Z
102: 81 50 subi r24, 0x01 ; 1
104: 84 30 cpi r24, 0x04 ; 4
106: 10 f0 brcs .+4 ; 0x10c <OSEventNameGet+0x3e>
case OS_EVENT_TYPE_MBOX:
case OS_EVENT_TYPE_Q:
break;
default:
*perr = OS_ERR_EVENT_TYPE;
108: 81 e0 ldi r24, 0x01 ; 1
10a: ec cf rjmp .-40 ; 0xe4 <OSEventNameGet+0x16>
return (0);
}
OS_ENTER_CRITICAL();
10c: f8 94 cli
len = OS_StrCopy(pname, pevent->OSEventName); /* Copy name from OS_EVENT */
10e: cf 01 movw r24, r30
110: 0e 96 adiw r24, 0x0e ; 14
112: fc 01 movw r30, r24
114: 02 c0 rjmp .+4 ; 0x11a <OSEventNameGet+0x4c>
INT8U len;
len = 0;
while (*psrc != OS_ASCII_NUL) {
*pdest++ = *psrc++;
116: 39 93 st Y+, r19
118: 31 96 adiw r30, 0x01 ; 1
11a: 2e 2f mov r18, r30
11c: 28 1b sub r18, r24
{
INT8U len;
len = 0;
while (*psrc != OS_ASCII_NUL) {
11e: 30 81 ld r19, Z
120: 33 23 and r19, r19
122: c9 f7 brne .-14 ; 0x116 <OSEventNameGet+0x48>
*pdest++ = *psrc++;
len++;
}
*pdest = OS_ASCII_NUL;
124: 18 82 st Y, r1
*perr = OS_ERR_EVENT_TYPE;
return (0);
}
OS_ENTER_CRITICAL();
len = OS_StrCopy(pname, pevent->OSEventName); /* Copy name from OS_EVENT */
OS_EXIT_CRITICAL();
126: 78 94 sei
*perr = OS_ERR_NONE;
128: 1c 92 st X, r1
return (len);
}
12a: 82 2f mov r24, r18
12c: df 91 pop r29
12e: cf 91 pop r28
130: 08 95 ret
00000132 <OSEventNameSet>:
*********************************************************************************************************
*/
#if OS_EVENT_EN && (OS_EVENT_NAME_SIZE > 1)
void OSEventNameSet (OS_EVENT *pevent, INT8U *pname, INT8U *perr)
{
132: cf 93 push r28
134: df 93 push r29
136: 9c 01 movw r18, r24
138: eb 01 movw r28, r22
13a: da 01 movw r26, r20
#endif
#if OS_ARG_CHK_EN > 0
if (perr == (INT8U *)0) { /* Validate 'perr' */
13c: 41 15 cp r20, r1
13e: 51 05 cpc r21, r1
140: 81 f1 breq .+96 ; 0x1a2 <OSEventNameSet+0x70>
return;
}
if (pevent == (OS_EVENT *)0) { /* Is 'pevent' a NULL pointer? */
142: 00 97 sbiw r24, 0x00 ; 0
144: 11 f4 brne .+4 ; 0x14a <OSEventNameSet+0x18>
*perr = OS_ERR_PEVENT_NULL;
146: 84 e0 ldi r24, 0x04 ; 4
148: 1f c0 rjmp .+62 ; 0x188 <OSEventNameSet+0x56>
return;
}
if (pname == (INT8U *)0) { /* Is 'pname' a NULL pointer? */
14a: 61 15 cp r22, r1
14c: 71 05 cpc r23, r1
14e: 11 f4 brne .+4 ; 0x154 <OSEventNameSet+0x22>
*perr = OS_ERR_PNAME_NULL;
150: 8c e0 ldi r24, 0x0C ; 12
152: 1a c0 rjmp .+52 ; 0x188 <OSEventNameSet+0x56>
return;
}
#endif
if (OSIntNesting > 0) { /* See if trying to call from an ISR */
154: 80 91 16 03 lds r24, 0x0316
158: 88 23 and r24, r24
15a: 11 f0 breq .+4 ; 0x160 <OSEventNameSet+0x2e>
*perr = OS_ERR_NAME_SET_ISR;
15c: 82 e1 ldi r24, 0x12 ; 18
15e: 14 c0 rjmp .+40 ; 0x188 <OSEventNameSet+0x56>
return;
}
switch (pevent->OSEventType) {
160: f9 01 movw r30, r18
162: 80 81 ld r24, Z
164: 81 50 subi r24, 0x01 ; 1
166: 84 30 cpi r24, 0x04 ; 4
168: 10 f0 brcs .+4 ; 0x16e <OSEventNameSet+0x3c>
case OS_EVENT_TYPE_MBOX:
case OS_EVENT_TYPE_Q:
break;
default:
*perr = OS_ERR_EVENT_TYPE;
16a: 81 e0 ldi r24, 0x01 ; 1
16c: 0d c0 rjmp .+26 ; 0x188 <OSEventNameSet+0x56>
return;
}
OS_ENTER_CRITICAL();
16e: f8 94 cli
170: fb 01 movw r30, r22
172: 01 c0 rjmp .+2 ; 0x176 <OSEventNameSet+0x44>
INT8U len;
len = 0;
while (*psrc != OS_ASCII_NUL) {
psrc++;
174: 31 96 adiw r30, 0x01 ; 1
176: 9e 2f mov r25, r30
178: 9c 1b sub r25, r28
{
INT8U len;
len = 0;
while (*psrc != OS_ASCII_NUL) {
17a: 80 81 ld r24, Z
17c: 88 23 and r24, r24
17e: d1 f7 brne .-12 ; 0x174 <OSEventNameSet+0x42>
*perr = OS_ERR_EVENT_TYPE;
return;
}
OS_ENTER_CRITICAL();
len = OS_StrLen(pname); /* Can we fit the string in the storage area? */
if (len > (OS_EVENT_NAME_SIZE - 1)) { /* No */
180: 98 30 cpi r25, 0x08 ; 8
182: 20 f0 brcs .+8 ; 0x18c <OSEventNameSet+0x5a>
OS_EXIT_CRITICAL();
184: 78 94 sei
*perr = OS_ERR_EVENT_NAME_TOO_LONG;
186: 8b e0 ldi r24, 0x0B ; 11
188: 8c 93 st X, r24
18a: 0b c0 rjmp .+22 ; 0x1a2 <OSEventNameSet+0x70>
return;
}
(void)OS_StrCopy(pevent->OSEventName, pname); /* Yes, copy name to the event control block */
18c: f9 01 movw r30, r18
18e: 3e 96 adiw r30, 0x0e ; 14
190: 02 c0 rjmp .+4 ; 0x196 <OSEventNameSet+0x64>
INT8U len;
len = 0;
while (*psrc != OS_ASCII_NUL) {
*pdest++ = *psrc++;
192: 81 93 st Z+, r24
194: 21 96 adiw r28, 0x01 ; 1
{
INT8U len;
len = 0;
while (*psrc != OS_ASCII_NUL) {
196: 88 81 ld r24, Y
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -