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

📄 mega16pro.lst

📁 mega16 ucos操作系统
💻 LST
📖 第 1 页 / 共 5 页
字号:
    004F5 92EA      ST	-Y,R14
    004F6 92FA      ST	-Y,R15
    004F7 930A      ST	-Y,R16
    004F8 931A      ST	-Y,R17
    004F9 932A      ST	-Y,R18
    004FA 933A      ST	-Y,R19
    004FB 934A      ST	-Y,R20
    004FC 935A      ST	-Y,R21
    004FD 936A      ST	-Y,R22
    004FE 937A      ST	-Y,R23
    004FF 938A      ST	-Y,R24
    00500 939A      ST	-Y,R25
    00501 93AA      ST	-Y,R26
    00502 93BA      ST	-Y,R27
    00503 93EA      ST	-Y,R30
    00504 93FA      ST	-Y,R31
    00505 B70F      IN	R16,0x3F
    00506 930A      ST	-Y,R16
    00507 B70E      IN	R16,0x3E
    00508 930A      ST	-Y,R16
    00509 B70D      IN	R16,0x3D
    0050A 930A      ST	-Y,R16
    0050B 91E0 078D LDS	R30,OSTCBCur
    0050D 91F0 078E LDS	R31,OSTCBCur+1
    0050F 93C1      ST	Z+,R28
    00510 93D1      ST	Z+,R29
    00511 940E 04A9 CALL	_OSTaskSwHook
    00513 9100 07FB LDS	R16,OSPrioHighRdy
    00515 9300 07FC STS	OSPrioCur,R16
    00517 91E0 0789 LDS	R30,OSTCBHighRdy
    00519 91F0 078A LDS	R31,OSTCBHighRdy+1
    0051B 93E0 078D STS	OSTCBCur,R30
    0051D 93F0 078E STS	OSTCBCur+1,R31
    0051F 91C1      LD	R28,Z+
    00520 91D1      LD	R29,Z+
    00521 9109      LD	R16,Y+
    00522 BF0D      OUT	0x3D,R16
    00523 9109      LD	R16,Y+
    00524 BF0E      OUT	0x3E,R16
    00525 9109      LD	R16,Y+
    00526 FD07      SBRC	R16,7
    00527 C020      RJMP	0x0548
    00528 BF0F      OUT	0x3F,R16
    00529 91F9      LD	R31,Y+
    0052A 91E9      LD	R30,Y+
    0052B 91B9      LD	R27,Y+
    0052C 91A9      LD	R26,Y+
    0052D 9199      LD	R25,Y+
    0052E 9189      LD	R24,Y+
    0052F 9179      LD	R23,Y+
    00530 9169      LD	R22,Y+
    00531 9159      LD	R21,Y+
    00532 9149      LD	R20,Y+
    00533 9139      LD	R19,Y+
    00534 9129      LD	R18,Y+
    00535 9119      LD	R17,Y+
    00536 9109      LD	R16,Y+
    00537 90F9      LD	R15,Y+
    00538 90E9      LD	R14,Y+
    00539 90D9      LD	R13,Y+
    0053A 90C9      LD	R12,Y+
    0053B 90B9      LD	R11,Y+
    0053C 90A9      LD	R10,Y+
    0053D 9099      LD	R9,Y+
    0053E 9089      LD	R8,Y+
    0053F 9079      LD	R7,Y+
    00540 9069      LD	R6,Y+
    00541 9059      LD	R5,Y+
    00542 9049      LD	R4,Y+
    00543 9039      LD	R3,Y+
    00544 9029      LD	R2,Y+
    00545 9019      LD	R1,Y+
    00546 9009      LD	R0,Y+
    00547 9508      RET
    00548 770F      ANDI	R16,0x7F
    00549 BF0F      OUT	0x3F,R16
    0054A 91F9      LD	R31,Y+
    0054B 91E9      LD	R30,Y+
    0054C 91B9      LD	R27,Y+
    0054D 91A9      LD	R26,Y+
    0054E 9199      LD	R25,Y+
    0054F 9189      LD	R24,Y+
    00550 9179      LD	R23,Y+
    00551 9169      LD	R22,Y+
    00552 9159      LD	R21,Y+
    00553 9149      LD	R20,Y+
    00554 9139      LD	R19,Y+
    00555 9129      LD	R18,Y+
    00556 9119      LD	R17,Y+
    00557 9109      LD	R16,Y+
    00558 90F9      LD	R15,Y+
    00559 90E9      LD	R14,Y+
    0055A 90D9      LD	R13,Y+
    0055B 90C9      LD	R12,Y+
    0055C 90B9      LD	R11,Y+
    0055D 90A9      LD	R10,Y+
    0055E 9099      LD	R9,Y+
    0055F 9089      LD	R8,Y+
    00560 9079      LD	R7,Y+
    00561 9069      LD	R6,Y+
    00562 9059      LD	R5,Y+
    00563 9049      LD	R4,Y+
    00564 9039      LD	R3,Y+
    00565 9029      LD	R2,Y+
    00566 9019      LD	R1,Y+
    00567 9009      LD	R0,Y+
    00568 9518      RETI
_OSIntCtxSw:
    00569 940E 04A9 CALL	_OSTaskSwHook
    0056B 9100 07FB LDS	R16,OSPrioHighRdy
    0056D 9300 07FC STS	OSPrioCur,R16
    0056F 91E0 0789 LDS	R30,OSTCBHighRdy
    00571 91F0 078A LDS	R31,OSTCBHighRdy+1
    00573 93E0 078D STS	OSTCBCur,R30
    00575 93F0 078E STS	OSTCBCur+1,R31
    00577 91C1      LD	R28,Z+
    00578 91D1      LD	R29,Z+
    00579 9109      LD	R16,Y+
    0057A BF0D      OUT	0x3D,R16
    0057B 9109      LD	R16,Y+
    0057C BF0E      OUT	0x3E,R16
    0057D 9109      LD	R16,Y+
    0057E FD07      SBRC	R16,7
    0057F C020      RJMP	0x05A0
    00580 BF0F      OUT	0x3F,R16
    00581 91F9      LD	R31,Y+
    00582 91E9      LD	R30,Y+
    00583 91B9      LD	R27,Y+
    00584 91A9      LD	R26,Y+
    00585 9199      LD	R25,Y+
    00586 9189      LD	R24,Y+
    00587 9179      LD	R23,Y+
    00588 9169      LD	R22,Y+
    00589 9159      LD	R21,Y+
    0058A 9149      LD	R20,Y+
    0058B 9139      LD	R19,Y+
    0058C 9129      LD	R18,Y+
    0058D 9119      LD	R17,Y+
    0058E 9109      LD	R16,Y+
    0058F 90F9      LD	R15,Y+
    00590 90E9      LD	R14,Y+
    00591 90D9      LD	R13,Y+
    00592 90C9      LD	R12,Y+
    00593 90B9      LD	R11,Y+
    00594 90A9      LD	R10,Y+
    00595 9099      LD	R9,Y+
    00596 9089      LD	R8,Y+
    00597 9079      LD	R7,Y+
    00598 9069      LD	R6,Y+
    00599 9059      LD	R5,Y+
    0059A 9049      LD	R4,Y+
    0059B 9039      LD	R3,Y+
    0059C 9029      LD	R2,Y+
    0059D 9019      LD	R1,Y+
    0059E 9009      LD	R0,Y+
    0059F 9508      RET
    005A0 770F      ANDI	R16,0x7F
    005A1 BF0F      OUT	0x3F,R16
    005A2 91F9      LD	R31,Y+
    005A3 91E9      LD	R30,Y+
    005A4 91B9      LD	R27,Y+
    005A5 91A9      LD	R26,Y+
    005A6 9199      LD	R25,Y+
    005A7 9189      LD	R24,Y+
    005A8 9179      LD	R23,Y+
    005A9 9169      LD	R22,Y+
    005AA 9159      LD	R21,Y+
    005AB 9149      LD	R20,Y+
    005AC 9139      LD	R19,Y+
    005AD 9129      LD	R18,Y+
    005AE 9119      LD	R17,Y+
    005AF 9109      LD	R16,Y+
    005B0 90F9      LD	R15,Y+
    005B1 90E9      LD	R14,Y+
    005B2 90D9      LD	R13,Y+
    005B3 90C9      LD	R12,Y+
    005B4 90B9      LD	R11,Y+
    005B5 90A9      LD	R10,Y+
    005B6 9099      LD	R9,Y+
    005B7 9089      LD	R8,Y+
    005B8 9079      LD	R7,Y+
    005B9 9069      LD	R6,Y+
    005BA 9059      LD	R5,Y+
    005BB 9049      LD	R4,Y+
    005BC 9039      LD	R3,Y+
    005BD 9029      LD	R2,Y+
    005BE 9019      LD	R1,Y+
    005BF 9009      LD	R0,Y+
    005C0 9518      RETI
FILE: C:\DOCUME~1\Administrator\桌面\MEGA16\source\ucos_source\os_core.c
(0001) /*
(0002) *********************************************************************************************************
(0003) *                                                uC/OS-II
(0004) *                                          The Real-Time Kernel
(0005) *                                             CORE FUNCTIONS
(0006) *
(0007) *                              (c) Copyright 1992-2007, Micrium, Weston, FL
(0008) *                                           All Rights Reserved
(0009) *
(0010) * File    : OS_CORE.C
(0011) * By      : Jean J. Labrosse
(0012) * Version : V2.86
(0013) *
(0014) * LICENSING TERMS:
(0015) * ---------------
(0016) *   uC/OS-II is provided in source form for FREE evaluation, for educational use or for peaceful research.
(0017) * If you plan on using  uC/OS-II  in a commercial product you need to contact Micri祄 to properly license
(0018) * its use in your product. We provide ALL the source code for your convenience and to help you experience
(0019) * uC/OS-II.   The fact that the  source is provided does  NOT  mean that you can use it without  paying a
(0020) * licensing fee.
(0021) *********************************************************************************************************
(0022) */
(0023) 
(0024) #ifndef _OS_CORE_SOURCE
(0025) #define _OS_CORE_SOURCE
(0026) #define  OS_GLOBALS
(0027) #include "..\CPU_source\includes.h"
(0028) #endif
(0029) 
(0030) /*
(0031) *********************************************************************************************************
(0032) *                                       PRIORITY RESOLUTION TABLE
(0033) *
(0034) * Note: Index into table is bit pattern to resolve highest priority
(0035) *       Indexed value corresponds to highest priority bit position (i.e. 0..7)
(0036) *********************************************************************************************************
(0037) */
(0038) 
(0039) INT8U  const  OSUnMapTbl[256] = {
(0040)     0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x00 to 0x0F                             */
(0041)     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x10 to 0x1F                             */
(0042)     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x20 to 0x2F                             */
(0043)     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x30 to 0x3F                             */
(0044)     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x40 to 0x4F                             */
(0045)     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x50 to 0x5F                             */
(0046)     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x60 to 0x6F                             */
(0047)     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x70 to 0x7F                             */
(0048)     7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x80 to 0x8F                             */
(0049)     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x90 to 0x9F                             */
(0050)     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xA0 to 0xAF                             */
(0051)     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xB0 to 0xBF                             */
(0052)     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xC0 to 0xCF                             */
(0053)     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xD0 to 0xDF                             */
(0054)     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xE0 to 0xEF                             */
(0055)     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0        /* 0xF0 to 0xFF                             */
(0056) };
(0057) 
(0058) 
(0059) /*
(0060) *********************************************************************************************************
(0061) *                                       FUNCTION PROTOTYPES
(0062) *********************************************************************************************************
(0063) */
(0064) 
(0065) static  void  OS_InitEventList(void);
(0066) 
(0067) static  void  OS_InitMisc(void);
(0068) 
(0069) static  void  OS_InitRdyList(void);
(0070) 
(0071) static  void  OS_InitTaskIdle(void);
(0072) 
(0073) #if OS_TASK_STAT_EN > 0
(0074) static  void  OS_InitTaskStat(void);
(0075) #endif
(0076) 
(0077) static  void  OS_InitTCBList(void);
(0078) 
(0079) static  void  OS_SchedNew(void);
(0080) 
(0081) 
(0082) /*
(0083) *********************************************************************************************************
(0084) *                         GET THE NAME OF A SEMAPHORE, MUTEX, MAILBOX or QUEUE
(0085) *
(0086) * Description: This function is used to obtain the name assigned to a semaphore, mutex, mailbox or queue.
(0087) *
(0088) * Arguments  : pevent    is a pointer to the event group.  'pevent' can point either to a semaphore,
(0089) *                        a mutex, a mailbox or a queue.  Where this function is concerned, the actual
(0090) *                        type is irrelevant.
(0091) *
(0092) *              pname     is a pointer to an ASCII string that will receive the name of the semaphore,
(0093) *                        mutex, mailbox or queue.  The string must be able to hold at least
(0094) *                        OS_EVENT_NAME_SIZE characters.
(0095) *
(0096) *              perr      is a pointer to an error code that can contain one of the following values:
(0097) *
(0098) *                        OS_ERR_NONE                if the name was copied to 'pname'
(0099) *                        OS_ERR_EVENT_TYPE          if 'pevent' is not pointing to the proper event
(0100) *                                                   control block type.
(0101) *                        OS_ERR_PNAME_NULL          You passed a NULL pointer for 'pname'
(0102) *                        OS_ERR_PEVENT_NULL         if you passed a NULL pointer for 'pevent'
(0103) *                        OS_ERR_NAME_GET_ISR        if you are trying to call this function from an ISR
(0104) *
(0105) * Returns    : The length of the string or 0 if the 'pevent' is a NULL pointer.
(0106) *********************************************************************************************************
(0107) */
(0108) 
(0109) #if (OS_EVENT_EN) && (OS_EVENT_NAME_SIZE > 1)
(0110) INT8U  OSEventNameGet (OS_EVENT *pevent, INT8U *pname, INT8U *perr)
(0111) {
(0112)     INT8U      len;
(0113) #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status register           */
(0114)     OS_CPU_SR  cpu_sr = 0;
(0115) #endif
(0116) 
(0117) 
(0118) 

⌨️ 快捷键说明

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