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

📄 user_code.lss

📁 一个小的操作系统包括应用程序很有参考价值
💻 LSS
📖 第 1 页 / 共 4 页
字号:

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