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

📄 os_core.ls1

📁 UCOS在51上的移植,绝对经典!可以较少开发人员的工作量
💻 LS1
📖 第 1 页 / 共 5 页
字号:
00BF 04              420             DB      004H
00C0 00              421             DB      000H
00C1 01              422             DB      001H
00C2 00              423             DB      000H
00C3 02              424             DB      002H
00C4 00              425             DB      000H
00C5 01              426             DB      001H
00C6 00              427             DB      000H
00C7 03              428             DB      003H
00C8 00              429             DB      000H
00C9 01              430             DB      001H
00CA 00              431             DB      000H
00CB 02              432             DB      002H
00CC 00              433             DB      000H
00CD 01              434             DB      001H
00CE 00              435             DB      000H
00CF 06              436             DB      006H
00D0 00              437             DB      000H
00D1 01              438             DB      001H
00D2 00              439             DB      000H
00D3 02              440             DB      002H
00D4 00              441             DB      000H
00D5 01              442             DB      001H
00D6 00              443             DB      000H
00D7 03              444             DB      003H
00D8 00              445             DB      000H
00D9 01              446             DB      001H
00DA 00              447             DB      000H
00DB 02              448             DB      002H
00DC 00              449             DB      000H
00DD 01              450             DB      001H
00DE 00              451             DB      000H
00DF 04              452             DB      004H
A51 MACRO ASSEMBLER  OS_CORE                                                              05/17/2005 11:19:50 PAGE     8

00E0 00              453             DB      000H
00E1 01              454             DB      001H
00E2 00              455             DB      000H
00E3 02              456             DB      002H
00E4 00              457             DB      000H
00E5 01              458             DB      001H
00E6 00              459             DB      000H
00E7 03              460             DB      003H
00E8 00              461             DB      000H
00E9 01              462             DB      001H
00EA 00              463             DB      000H
00EB 02              464             DB      002H
00EC 00              465             DB      000H
00ED 01              466             DB      001H
00EE 00              467             DB      000H
00EF 05              468             DB      005H
00F0 00              469             DB      000H
00F1 01              470             DB      001H
00F2 00              471             DB      000H
00F3 02              472             DB      002H
00F4 00              473             DB      000H
00F5 01              474             DB      001H
00F6 00              475             DB      000H
00F7 03              476             DB      003H
00F8 00              477             DB      000H
00F9 01              478             DB      001H
00FA 00              479             DB      000H
00FB 02              480             DB      002H
00FC 00              481             DB      000H
00FD 01              482             DB      001H
00FE 00              483             DB      000H
00FF 04              484             DB      004H
0100 00              485             DB      000H
0101 01              486             DB      001H
0102 00              487             DB      000H
0103 02              488             DB      002H
0104 00              489             DB      000H
0105 01              490             DB      001H
0106 00              491             DB      000H
0107 03              492             DB      003H
0108 00              493             DB      000H
0109 01              494             DB      001H
010A 00              495             DB      000H
010B 02              496             DB      002H
010C 00              497             DB      000H
010D 01              498             DB      001H
010E 00              499             DB      000H
                     500     
                     501     ; /*
                     502     ; *****************************************************************************************
                             ****************
                     503     ; *                                                uC/OS-II
                     504     ; *                                          The Real-Time Kernel
                     505     ; *                                             CORE FUNCTIONS
                     506     ; *
                     507     ; *                          (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
                     508     ; *                                           All Rights Reserved
                     509     ; *
                     510     ; * File : OS_CORE.C
                     511     ; * By   : Jean J. Labrosse
                     512     ; *****************************************************************************************
                             ****************
                     513     ; */
                     514     ; 
                     515     ; #ifndef  OS_MASTER_FILE
                     516     ; #define  OS_GLOBALS
A51 MACRO ASSEMBLER  OS_CORE                                                              05/17/2005 11:19:50 PAGE     9

                     517     ; #include "includes.h"
                     518     ; #endif
                     519     ; 
                     520     ; /*
                     521     ; *****************************************************************************************
                             ****************
                     522     ; *                              MAPPING TABLE TO MAP BIT POSITION TO BIT MASK
                     523     ; *
                     524     ; * Note: Index into table is desired bit position, 0..7
                     525     ; *       Indexed value corresponds to bit mask
                     526     ; *****************************************************************************************
                             ****************
                     527     ; */
                     528     ; 
                     529     ; INT8U  const  OSMapTbl[]   = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
                     530     ; 
                     531     ; /*
                     532     ; *****************************************************************************************
                             ****************
                     533     ; *                                       PRIORITY RESOLUTION TABLE
                     534     ; *
                     535     ; * Note: Index into table is bit pattern to resolve highest priority
                     536     ; *       Indexed value corresponds to highest priority bit position (i.e. 0..7)
                     537     ; *****************************************************************************************
                             ****************
                     538     ; */
                     539     ; 
                     540     ; INT8U  const  OSUnMapTbl[] = {
                     541     ;     0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x00 to 0x0F                
                                          */
                     542     ;     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x10 to 0x1F                
                                          */
                     543     ;     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x20 to 0x2F                
                                          */
                     544     ;     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x30 to 0x3F                
                                          */
                     545     ;     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x40 to 0x4F                
                                          */
                     546     ;     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x50 to 0x5F                
                                          */
                     547     ;     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x60 to 0x6F                
                                          */
                     548     ;     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x70 to 0x7F                
                                          */
                     549     ;     7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x80 to 0x8F                
                                          */
                     550     ;     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0x90 to 0x9F                
                                          */
                     551     ;     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xA0 to 0xAF                
                                          */
                     552     ;     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xB0 to 0xBF                
                                          */
                     553     ;     6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xC0 to 0xCF                
                                          */
                     554     ;     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xD0 to 0xDF                
                                          */
                     555     ;     5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0,       /* 0xE0 to 0xEF                
                                          */
                     556     ;     4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0        /* 0xF0 to 0xFF                
                                          */
                     557     ; };
                     558     ; 
                     559     ; /*
                     560     ; *****************************************************************************************
                             ****************
                     561     ; *                                       FUNCTION PROTOTYPES
A51 MACRO ASSEMBLER  OS_CORE                                                              05/17/2005 11:19:50 PAGE    10

                     562     ; *****************************************************************************************
                             ****************
                     563     ; */
                     564     ; static  void  OS_InitEventList(void) LG_REENTRANT;
                     565     ; static  void  OS_InitMisc(void) LG_REENTRANT;
                     566     ; static  void  OS_InitRdyList(void) LG_REENTRANT;
                     567     ; static  void  OS_InitTaskIdle(void) LG_REENTRANT;
                     568     ; static  void  OS_InitTaskStat(void) LG_REENTRANT;
                     569     ; static  void  OS_InitTCBList(void) LG_REENTRANT;
                     570     ; 
                     571     ; /*$PAGE*/
                     572     ; /*
                     573     ; *****************************************************************************************
                             ****************
                     574     ; *                                             INITIALIZATION
                     575     ; *
                     576     ; * Description: This function is used to initialize the internals of uC/OS-II and MUST be 
                             called prior to
                     577     ; *              creating any uC/OS-II object and, prior to calling OSStart().
                     578     ; *
                     579     ; * Arguments  : none
                     580     ; *
                     581     ; * Returns    : none
                     582     ; *****************************************************************************************
                             ****************
                     583     ; */
                     584     ; 
                     585     ; void  OSInit (void) LG_REENTRANT
                     586     
----                 587             RSEG  ?PR?_?OSInit?OS_CORE
0000                 588     _?OSInit:
                     589             USING   0
                     590                             ; SOURCE LINE # 85
                     591     ; {
                     592     ; #if OS_VERSION >= 204
                     593     ;     OSInitHookBegin();                                           /* Call port specific in
                             itialization code   */
                     594                             ; SOURCE LINE # 88
0000 120000   F      595             LCALL   _?OSInitHookBegin
                     596     ; #endif
                     597     ; 
                     598     ;     OS_InitMisc();                                               /* Initialize miscellane
                             ous variables       */
                     599                             ; SOURCE LINE # 91
0003 120000   F      600             LCALL   _?OS_InitMisc
                     601     ; 
                     602     ;     OS_InitRdyList();                                            /* Initialize the Ready 
                             List                */
                     603                             ; SOURCE LINE # 93
0006 120000   F      604             LCALL   _?OS_InitRdyList

⌨️ 快捷键说明

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