⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucos-ii.lss

📁 avr ucos 代码 测试环境:source insight WINAVR 2个进程
💻 LSS
📖 第 1 页 / 共 5 页
字号:

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -