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

📄 os.lst

📁 无线传感器星型网络的节点的基站程序,采用802.15.4协议
💻 LST
📖 第 1 页 / 共 2 页
字号:
 294 0068 0895      		ret
 295               	/* epilogue end (size=1) */
 296               	/* function OS_post size 33 (32) */
 305               		.data
 306               	.LC0:
 307 0000 2573 00   		.string	"%s"
 308               		.text
 311               	.global	error
 313               	error:
  85:os.c          **** //--------------------错误信息输出函数-------------------------------
  86:os.c          **** inline void  error(char * info)
  87:os.c          **** {
 315               	.LM30:
 316               	/* prologue: frame size=0 */
 317               	/* prologue end (size=0) */
  88:os.c          ****       printf("%s",info);
 319               	.LM31:
 320 006a 9F93      		push r25
 321 006c 8F93      		push r24
 322 006e 80E0      		ldi r24,lo8(.LC0)
 323 0070 90E0      		ldi r25,hi8(.LC0)
 324 0072 9F93      		push r25
 325 0074 8F93      		push r24
 326 0076 0E94 0000 		call printf
 327 007a 0F90      		pop __tmp_reg__
 328 007c 0F90      		pop __tmp_reg__
 329 007e 0F90      		pop __tmp_reg__
 330 0080 0F90      		pop __tmp_reg__
 331               	/* epilogue: frame size=0 */
 332 0082 0895      		ret
 333               	/* epilogue end (size=1) */
 334               	/* function error size 13 (12) */
 337               	.global	OS_run_next_task
 339               	OS_run_next_task:
  89:os.c          **** }
  90:os.c          **** //---------------任务运行函数1------------------------------------------
  91:os.c          **** 
  92:os.c          ****  inline bool OS_run_next_task(void)
  93:os.c          **** {
 341               	.LM32:
 342               	/* prologue: frame size=0 */
 343               	/* prologue end (size=0) */
 344               	.LBB8:
 345               	.LBB9:
 347               	.LM33:
 348 0084 8FB7      		in r24,95-0x20
 350               	.LM34:
 351               	/* #APP */
 352 0086 F894      		cli
 353               	/* #NOAPP */
 354 0088 482F      		mov r20,r24
 355 008a 5527      		clr r21
 356               	.LBE9:
 357               	.LBE8:
  94:os.c          ****   os_atomic_t fInterruptFlags;
  95:os.c          ****   uint8_t old_full;
  96:os.c          ****   void (*func)(void );
  97:os.c          **** 
  98:os.c          ****   fInterruptFlags = os_atomic_start();
  99:os.c          ****   old_full = OS_sched_full;
 359               	.LM35:
 360 008c 9091 0000 		lds r25,OS_sched_full
 100:os.c          ****   func = OS_queue[old_full].tp;
 362               	.LM36:
 363 0090 E92F      		mov r30,r25
 364 0092 FF27      		clr r31
 365 0094 EE0F      		add r30,r30
 366 0096 FF1F      		adc r31,r31
 367 0098 E050      		subi r30,lo8(-(OS_queue))
 368 009a F040      		sbci r31,hi8(-(OS_queue))
 369 009c 2081      		ld r18,Z
 370 009e 3181      		ldd r19,Z+1
 101:os.c          ****   if (func == (void *)0) 
 372               	.LM37:
 373 00a0 2115      		cp r18,__zero_reg__
 374 00a2 3105      		cpc r19,__zero_reg__
 375 00a4 19F4      		brne .L16
 376               	.LBB10:
 377               	.LBB11:
 379               	.LM38:
 380 00a6 4FBF      		out 95-0x20,r20
 381               	.LBE11:
 382               	.LBE10:
 102:os.c          ****     {
 103:os.c          ****       os_atomic_end(fInterruptFlags);
 104:os.c          ****       return 0;
 384               	.LM39:
 385 00a8 F901      		movw r30,r18
 386 00aa 0BC0      		rjmp .L14
 387               	.L16:
 105:os.c          ****     }
 106:os.c          **** 
 107:os.c          ****   OS_queue[old_full].tp = (void *)0;
 389               	.LM40:
 390 00ac 1082      		st Z,__zero_reg__
 391 00ae 1182      		std Z+1,__zero_reg__
 108:os.c          ****   OS_sched_full = (old_full + 1) & OS_TASK_BITMASK;
 393               	.LM41:
 394 00b0 9F5F      		subi r25,lo8(-(1))
 395 00b2 9770      		andi r25,lo8(7)
 396 00b4 9093 0000 		sts OS_sched_full,r25
 397               	.LBB12:
 398               	.LBB13:
 400               	.LM42:
 401 00b8 4FBF      		out 95-0x20,r20
 402               	.LBE13:
 403               	.LBE12:
 109:os.c          ****   os_atomic_end(fInterruptFlags);
 110:os.c          ****   
 111:os.c          ****  
 112:os.c          ****             func();
 405               	.LM43:
 406 00ba F901      		movw r30,r18
 407 00bc 0995      		icall
 113:os.c          ****   
 114:os.c          ****   
 115:os.c          ****   return 1;
 409               	.LM44:
 410 00be E1E0      		ldi r30,lo8(1)
 411 00c0 F0E0      		ldi r31,hi8(1)
 412               	.L14:
 116:os.c          **** }
 414               	.LM45:
 415 00c2 CF01      		movw r24,r30
 416               	/* epilogue: frame size=0 */
 417 00c4 0895      		ret
 418               	/* epilogue end (size=1) */
 419               	/* function OS_run_next_task size 34 (33) */
 430               	.global	OS_run_task
 432               	OS_run_task:
 117:os.c          **** 
 118:os.c          **** //--------------任务运行函数2-------------------------------------------
 119:os.c          ****  inline void OS_run_task(void)
 120:os.c          **** {
 434               	.LM46:
 435               	/* prologue: frame size=0 */
 436               	/* prologue end (size=0) */
 437               	.LBB14:
 438               	.LBB15:
 439               	.LBB16:
 440               	.LBB17:
 442               	.LM47:
 443 00c6 8FB7      		in r24,95-0x20
 445               	.LM48:
 446               	/* #APP */
 447 00c8 F894      		cli
 448               	/* #NOAPP */
 449 00ca 482F      		mov r20,r24
 450 00cc 5527      		clr r21
 451               	.LBE17:
 452               	.LBE16:
 454               	.LM49:
 455 00ce 9091 0000 		lds r25,OS_sched_full
 457               	.LM50:
 458 00d2 E92F      		mov r30,r25
 459 00d4 FF27      		clr r31
 460 00d6 EE0F      		add r30,r30
 461 00d8 FF1F      		adc r31,r31
 462 00da E050      		subi r30,lo8(-(OS_queue))
 463 00dc F040      		sbci r31,hi8(-(OS_queue))
 464 00de 2081      		ld r18,Z
 465 00e0 3181      		ldd r19,Z+1
 467               	.LM51:
 468 00e2 2115      		cp r18,__zero_reg__
 469 00e4 3105      		cpc r19,__zero_reg__
 470 00e6 11F4      		brne .L21
 471               	.LBB18:
 472               	.LBB19:
 474               	.LM52:
 475 00e8 4FBF      		out 95-0x20,r20
 476               	.LBE19:
 477               	.LBE18:
 479               	.LM53:
 480 00ea 09C0      		rjmp .L23
 481               	.L21:
 483               	.LM54:
 484 00ec 1082      		st Z,__zero_reg__
 485 00ee 1182      		std Z+1,__zero_reg__
 487               	.LM55:
 488 00f0 9F5F      		subi r25,lo8(-(1))
 489 00f2 9770      		andi r25,lo8(7)
 490 00f4 9093 0000 		sts OS_sched_full,r25
 491               	.LBB20:
 492               	.LBB21:
 494               	.LM56:
 495 00f8 4FBF      		out 95-0x20,r20
 496               	.LBE21:
 497               	.LBE20:
 499               	.LM57:
 500 00fa F901      		movw r30,r18
 501 00fc 0995      		icall
 502               	.L23:
 503               	.LBE15:
 504               	.LBE14:
 505               	.LBB22:
 506               	.LBB23:
 508               	.LM58:
 509               	/* #APP */
 510 00fe 0000      		nop
 512               	.LM59:
 513 0100 0000      		nop
 514               	/* #NOAPP */
 515               	.LBE23:
 516               	.LBE22:
 517               	/* epilogue: frame size=0 */
 518 0102 0895      		ret
 519               	/* epilogue end (size=1) */
 520               	/* function OS_run_task size 34 (33) */
 536               		.comm OS_queue,16,1
 537               		.comm OS_sched_full,1,1
 538               		.comm OS_sched_free,1,1
 542               		.text
 544               	Letext:
 545               	/* File "os.c": code  140 = 0x008c ( 130), prologues   0, epilogues  10 */
DEFINED SYMBOLS
                            *ABS*:00000000 os.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:98     .text:00000000 os_atomic_enable_interrupt
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:117    .text:00000004 os_atomic_end
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:133    .text:00000008 os_atomic_start
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:158    .text:00000010 OS_wait
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:179    .text:00000016 OS_sleep
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:202    .text:00000020 OS_sched_init
                            *COM*:00000001 OS_sched_free
                            *COM*:00000001 OS_sched_full
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:222    .text:0000002a OS_post
                            *COM*:00000010 OS_queue
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:313    .text:0000006a error
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:339    .text:00000084 OS_run_next_task
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:432    .text:000000c6 OS_run_task
C:\DOCUME~1\ADMINI~2\LOCALS~1\Temp/ccsdaaaa.s:544    .text:00000104 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
printf

⌨️ 快捷键说明

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