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

📄 test.lss

📁 基于AVR平台的RTOS
💻 LSS
📖 第 1 页 / 共 5 页
字号:

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 + -