os_mbox.lst

来自「atmega单片机用的ucos系统 占用内存适中 是atmega单片机合适的操作」· LST 代码 · 共 1,285 行 · 第 1/5 页

LST
1,285
字号
 431:OSsrc/os_mbox.c ****         } else {
 432:OSsrc/os_mbox.c ****             (void)OS_EventTaskRdy(pevent, msg, OS_STAT_MBOX);  /* No,  Post to HPT waiting on mbox 
 838               	.LM126:
 839 02ee 42E0      		ldi r20,lo8(2)
 840 02f0 CE01      		movw r24,r28
 841 02f2 0E94 0000 		call OS_EventTaskRdy
 842               	.L50:
 433:OSsrc/os_mbox.c ****         }
 434:OSsrc/os_mbox.c ****         OS_EXIT_CRITICAL();
 844               	.LM127:
 845               	/* #APP */
 846 02f6 0F90      		pop __tmp_reg__
 847 02f8 0FBE      		out __SREG__,__tmp_reg__
 435:OSsrc/os_mbox.c ****         OS_Sched();                                            /* Find HPT ready to run            
 849               	.LM128:
 850               	/* #NOAPP */
 851 02fa 0E94 0000 		call OS_Sched
 852 02fe 0DC0      		rjmp .L54
 853               	.L45:
 436:OSsrc/os_mbox.c ****         return (OS_NO_ERR);
 437:OSsrc/os_mbox.c ****     }
 438:OSsrc/os_mbox.c ****     if (pevent->OSEventPtr != (void *)0) {            /* Make sure mailbox doesn't already have a m
 855               	.LM129:
 856 0300 8C81      		ldd r24,Y+4
 857 0302 9D81      		ldd r25,Y+5
 858 0304 892B      		or r24,r25
 859 0306 29F0      		breq .L51
 439:OSsrc/os_mbox.c ****         OS_EXIT_CRITICAL();
 861               	.LM130:
 862               	/* #APP */
 863 0308 0F90      		pop __tmp_reg__
 864 030a 0FBE      		out __SREG__,__tmp_reg__
 440:OSsrc/os_mbox.c ****         return (OS_MBOX_FULL);
 866               	.LM131:
 867               	/* #NOAPP */
 868 030c 84E1      		ldi r24,lo8(20)
 869 030e 90E0      		ldi r25,hi8(20)
 870 0310 06C0      		rjmp .L41
 871               	.L51:
 441:OSsrc/os_mbox.c ****     }
 442:OSsrc/os_mbox.c ****     pevent->OSEventPtr = msg;                         /* Place message in mailbox                  
 873               	.LM132:
 874 0312 6C83      		std Y+4,r22
 875 0314 7D83      		std Y+5,r23
 443:OSsrc/os_mbox.c ****     OS_EXIT_CRITICAL();
 877               	.LM133:
 878               	/* #APP */
 879 0316 0F90      		pop __tmp_reg__
 880 0318 0FBE      		out __SREG__,__tmp_reg__
 881               	/* #NOAPP */
 882               	.L54:
 444:OSsrc/os_mbox.c ****     return (OS_NO_ERR);
 884               	.LM134:
 885 031a 80E0      		ldi r24,lo8(0)
 886 031c 90E0      		ldi r25,hi8(0)
 887               	.L41:
 888               	/* epilogue: frame size=0 */
 889 031e DF91      		pop r29
 890 0320 CF91      		pop r28
 891 0322 1F91      		pop r17
 892 0324 0F91      		pop r16
 893 0326 0895      		ret
 894               	/* epilogue end (size=5) */
 895               	/* function OSMboxPostOpt size 78 (69) */
 897               	.Lscope5:
 901               	.global	OSMboxQuery
 903               	OSMboxQuery:
 445:OSsrc/os_mbox.c **** }
 446:OSsrc/os_mbox.c **** #endif
 447:OSsrc/os_mbox.c **** 
 448:OSsrc/os_mbox.c **** /*$PAGE*/
 449:OSsrc/os_mbox.c **** /*
 450:OSsrc/os_mbox.c **** ***************************************************************************************************
 451:OSsrc/os_mbox.c **** *                                        QUERY A MESSAGE MAILBOX
 452:OSsrc/os_mbox.c **** *
 453:OSsrc/os_mbox.c **** * Description: This function obtains information about a message mailbox.
 454:OSsrc/os_mbox.c **** *
 455:OSsrc/os_mbox.c **** * Arguments  : pevent        is a pointer to the event control block associated with the desired ma
 456:OSsrc/os_mbox.c **** *
 457:OSsrc/os_mbox.c **** *              p_mbox_data   is a pointer to a structure that will contain information about the me
 458:OSsrc/os_mbox.c **** *                            mailbox.
 459:OSsrc/os_mbox.c **** *
 460:OSsrc/os_mbox.c **** * Returns    : OS_NO_ERR           The call was successful and the message was sent
 461:OSsrc/os_mbox.c **** *              OS_ERR_EVENT_TYPE   If you are attempting to obtain data from a non mailbox.
 462:OSsrc/os_mbox.c **** *              OS_ERR_PEVENT_NULL  If 'pevent' is a NULL pointer
 463:OSsrc/os_mbox.c **** ***************************************************************************************************
 464:OSsrc/os_mbox.c **** */
 465:OSsrc/os_mbox.c **** 
 466:OSsrc/os_mbox.c **** #if OS_MBOX_QUERY_EN > 0
 467:OSsrc/os_mbox.c **** INT8U  OSMboxQuery (OS_EVENT *pevent, OS_MBOX_DATA *p_mbox_data)
 468:OSsrc/os_mbox.c **** {
 905               	.LM135:
 906               	/* prologue: frame size=0 */
 907 0328 CF93      		push r28
 908 032a DF93      		push r29
 909               	/* prologue end (size=2) */
 910 032c FC01      		movw r30,r24
 911 032e DB01      		movw r26,r22
 469:OSsrc/os_mbox.c ****     INT8U     *psrc;
 470:OSsrc/os_mbox.c ****     INT8U     *pdest;
 471:OSsrc/os_mbox.c **** #if OS_CRITICAL_METHOD == 3                                /* Allocate storage for CPU status regis
 472:OSsrc/os_mbox.c ****     OS_CPU_SR  cpu_sr;
 473:OSsrc/os_mbox.c **** 
 474:OSsrc/os_mbox.c **** 
 475:OSsrc/os_mbox.c **** 
 476:OSsrc/os_mbox.c ****     cpu_sr = 0;                                            /* Prevent compiler warning             
 477:OSsrc/os_mbox.c **** #endif    
 478:OSsrc/os_mbox.c **** #if OS_ARG_CHK_EN > 0
 479:OSsrc/os_mbox.c ****     if (pevent == (OS_EVENT *)0) {                         /* Validate 'pevent'                    
 913               	.LM136:
 914 0330 892B      		or r24,r25
 915 0332 19F4      		brne .L56
 480:OSsrc/os_mbox.c ****         return (OS_ERR_PEVENT_NULL);
 917               	.LM137:
 918 0334 84E0      		ldi r24,lo8(4)
 919 0336 90E0      		ldi r25,hi8(4)
 920 0338 24C0      		rjmp .L55
 921               	.L56:
 481:OSsrc/os_mbox.c ****     }
 482:OSsrc/os_mbox.c **** #endif
 483:OSsrc/os_mbox.c ****     if (pevent->OSEventType != OS_EVENT_TYPE_MBOX) {       /* Validate event block type            
 923               	.LM138:
 924 033a 8081      		ld r24,Z
 925 033c 8130      		cpi r24,lo8(1)
 926 033e 19F0      		breq .L57
 484:OSsrc/os_mbox.c ****         return (OS_ERR_EVENT_TYPE);
 928               	.LM139:
 929 0340 81E0      		ldi r24,lo8(1)
 930 0342 90E0      		ldi r25,hi8(1)
 931 0344 1EC0      		rjmp .L55
 932               	.L57:
 485:OSsrc/os_mbox.c ****     }
 486:OSsrc/os_mbox.c ****     OS_ENTER_CRITICAL();
 934               	.LM140:
 935               	/* #APP */
 936 0346 0FB6      		in __tmp_reg__,__SREG__
 937 0348 F894      		cli
 938 034a 0F92      		push __tmp_reg__
 487:OSsrc/os_mbox.c ****     p_mbox_data->OSEventGrp = pevent->OSEventGrp;          /* Copy message mailbox wait list       
 940               	.LM141:
 941               	/* #NOAPP */
 942 034c 8181      		ldd r24,Z+1
 943 034e EB01      		movw r28,r22
 944 0350 8A87      		std Y+10,r24
 488:OSsrc/os_mbox.c ****     psrc                    = &pevent->OSEventTbl[0];
 489:OSsrc/os_mbox.c ****     pdest                   = &p_mbox_data->OSEventTbl[0];
 490:OSsrc/os_mbox.c **** 
 491:OSsrc/os_mbox.c **** #if OS_EVENT_TBL_SIZE > 0
 492:OSsrc/os_mbox.c ****     *pdest++ = *psrc++;
 946               	.LM142:
 947 0352 8681      		ldd r24,Z+6
 948 0354 8A83      		std Y+2,r24
 493:OSsrc/os_mbox.c **** #endif
 494:OSsrc/os_mbox.c **** 
 495:OSsrc/os_mbox.c **** #if OS_EVENT_TBL_SIZE > 1
 496:OSsrc/os_mbox.c ****     *pdest++ = *psrc++;
 950               	.LM143:
 951 0356 8781      		ldd r24,Z+7
 952 0358 8B83      		std Y+3,r24
 497:OSsrc/os_mbox.c **** #endif
 498:OSsrc/os_mbox.c **** 
 499:OSsrc/os_mbox.c **** #if OS_EVENT_TBL_SIZE > 2
 500:OSsrc/os_mbox.c ****     *pdest++ = *psrc++;
 954               	.LM144:
 955 035a 8085      		ldd r24,Z+8
 956 035c 8C83      		std Y+4,r24
 501:OSsrc/os_mbox.c **** #endif
 502:OSsrc/os_mbox.c **** 
 503:OSsrc/os_mbox.c **** #if OS_EVENT_TBL_SIZE > 3
 504:OSsrc/os_mbox.c ****     *pdest++ = *psrc++;
 958               	.LM145:
 959 035e 8185      		ldd r24,Z+9
 960 0360 8D83      		std Y+5,r24
 505:OSsrc/os_mbox.c **** #endif
 506:OSsrc/os_mbox.c **** 
 507:OSsrc/os_mbox.c **** #if OS_EVENT_TBL_SIZE > 4
 508:OSsrc/os_mbox.c ****     *pdest++ = *psrc++;
 962               	.LM146:
 963 0362 8285      		ldd r24,Z+10
 964 0364 8E83      		std Y+6,r24
 509:OSsrc/os_mbox.c **** #endif
 510:OSsrc/os_mbox.c **** 
 511:OSsrc/os_mbox.c **** #if OS_EVENT_TBL_SIZE > 5
 512:OSsrc/os_mbox.c ****     *pdest++ = *psrc++;
 966               	.LM147:
 967 0366 8385      		ldd r24,Z+11
 968 0368 8F83      		std Y+7,r24
 513:OSsrc/os_mbox.c **** #endif
 514:OSsrc/os_mbox.c **** 
 515:OSsrc/os_mbox.c **** #if OS_EVENT_TBL_SIZE > 6
 516:OSsrc/os_mbox.c ****     *pdest++ = *psrc++;
 970               	.LM148:
 971 036a 8485      		ldd r24,Z+12
 972 036c 8887      		std Y+8,r24
 517:OSsrc/os_mbox.c **** #endif
 518:OSsrc/os_mbox.c **** 
 519:OSsrc/os_mbox.c **** #if OS_EVENT_TBL_SIZE > 7
 520:OSsrc/os_mbox.c ****     *pdest   = *psrc;
 974               	.LM149:
 975 036e 8585      		ldd r24,Z+13
 976 0370 8987      		std Y+9,r24
 521:OSsrc/os_mbox.c **** #endif
 522:OSsrc/os_mbox.c ****     p_mbox_data->OSMsg = pevent->OSEventPtr;               /* Get message from mailbox             
 978               	.LM150:
 979 0372 8481      		ldd r24,Z+4
 980 0374 9581      		ldd r25,Z+5
 981 0376 8D93      		st X+,r24
 982 0378 9C93      		st X,r25
 523:OSsrc/os_mbox.c ****     OS_EXIT_CRITICAL();
 984               	.LM151:
 985               	/* #APP */
 986 037a 0F90      		pop __tmp_reg__
 987 037c 0FBE      		out __SREG__,__tmp_reg__
 524:OSsrc/os_mbox.c ****     return (OS_NO_ERR);
 989               	.LM152:
 990               	/* #NOAPP */
 991 037e 80E0      		ldi r24,lo8(0)
 992 0380 90E0      		ldi r25,hi8(0)
 993               	.L55:
 994               	/* epilogue: frame size=0 */
 995 0382 DF91      		pop r29
 996 0384 CF91      		pop r28
 997 0386 0895      		ret
 998               	/* epilogue end (size=3) */
 999               	/* function OSMboxQuery size 53 (48) */
 1001               	.Lscope6:
 1002               		.text
 1004               	Letext:
 1005               	/* File "OSsrc/os_mbox.c": code  510 = 0x01fe ( 469), prologues  17, epilogues  24 */
DEFINED SYMBOLS
                            *ABS*:00000000 os_mbox.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccA5aaaa.s:87     .text:00000000 OSMboxAccept
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccA5aaaa.s:149    .text:0000002a OSMboxCreate
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccA5aaaa.s:245    .text:00000084 OSMboxDel
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccA5aaaa.s:463    .text:0000016a OSMboxPend
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccA5aaaa.s:649    .text:00000236 OSMboxPost
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccA5aaaa.s:766    .text:0000029e OSMboxPostOpt
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccA5aaaa.s:903    .text:00000328 OSMboxQuery
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccA5aaaa.s:1004   .text:00000388 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
OSIntNesting
OSEventFreeList
OS_EventWaitListInit
OS_EventTaskRdy
OS_Sched
OSTCBCur
OS_EventTaskWait
OS_EventTO

⌨️ 快捷键说明

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