📄 os_core.ls1
字号:
00E1 01 425 DB 001H
00E2 00 426 DB 000H
00E3 02 427 DB 002H
00E4 00 428 DB 000H
00E5 01 429 DB 001H
00E6 00 430 DB 000H
00E7 03 431 DB 003H
00E8 00 432 DB 000H
00E9 01 433 DB 001H
00EA 00 434 DB 000H
00EB 02 435 DB 002H
00EC 00 436 DB 000H
00ED 01 437 DB 001H
00EE 00 438 DB 000H
00EF 05 439 DB 005H
00F0 00 440 DB 000H
00F1 01 441 DB 001H
00F2 00 442 DB 000H
00F3 02 443 DB 002H
00F4 00 444 DB 000H
00F5 01 445 DB 001H
00F6 00 446 DB 000H
00F7 03 447 DB 003H
00F8 00 448 DB 000H
00F9 01 449 DB 001H
00FA 00 450 DB 000H
00FB 02 451 DB 002H
00FC 00 452 DB 000H
00FD 01 453 DB 001H
A51 MACRO ASSEMBLER OS_CORE 08/08/2005 12:35:32 PAGE 8
00FE 00 454 DB 000H
00FF 04 455 DB 004H
0100 00 456 DB 000H
0101 01 457 DB 001H
0102 00 458 DB 000H
0103 02 459 DB 002H
0104 00 460 DB 000H
0105 01 461 DB 001H
0106 00 462 DB 000H
0107 03 463 DB 003H
0108 00 464 DB 000H
0109 01 465 DB 001H
010A 00 466 DB 000H
010B 02 467 DB 002H
010C 00 468 DB 000H
010D 01 469 DB 001H
010E 00 470 DB 000H
471
472 ; /*
473 ; *****************************************************************************************
****************
474 ; * uC/OS-II
475 ; * The Real-Time Kernel
476 ; * CORE FUNCTIONS
477 ; *
478 ; * (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
479 ; * All Rights Reserved
480 ; *
481 ; * File : OS_CORE.C
482 ; * By : Jean J. Labrosse
483 ; *****************************************************************************************
****************
484 ; */
485 ;
486 ; #ifndef OS_MASTER_FILE
487 ; #define OS_GLOBALS
488 ; #include "includes.h"
489 ; #endif
490 ;
491 ; /*
492 ; *****************************************************************************************
****************
493 ; * MAPPING TABLE TO MAP BIT POSITION TO BIT MASK
494 ; *
495 ; * Note: Index into table is desired bit position, 0..7
496 ; * Indexed value corresponds to bit mask
497 ; *****************************************************************************************
****************
498 ; */
499 ;
500 ; INT8U const OSMapTbl[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
501 ;
502 ; /*
503 ; *****************************************************************************************
****************
504 ; * PRIORITY RESOLUTION TABLE
505 ; *
506 ; * Note: Index into table is bit pattern to resolve highest priority
507 ; * Indexed value corresponds to highest priority bit position (i.e. 0..7)
508 ; *****************************************************************************************
****************
509 ; */
510 ;
511 ; INT8U const OSUnMapTbl[] = {
512 ; 0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x00 to 0x0F
*/
A51 MACRO ASSEMBLER OS_CORE 08/08/2005 12:35:32 PAGE 9
513 ; 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x10 to 0x1F
*/
514 ; 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x20 to 0x2F
*/
515 ; 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x30 to 0x3F
*/
516 ; 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x40 to 0x4F
*/
517 ; 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x50 to 0x5F
*/
518 ; 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x60 to 0x6F
*/
519 ; 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x70 to 0x7F
*/
520 ; 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x80 to 0x8F
*/
521 ; 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0x90 to 0x9F
*/
522 ; 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0xA0 to 0xAF
*/
523 ; 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0xB0 to 0xBF
*/
524 ; 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0xC0 to 0xCF
*/
525 ; 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0xD0 to 0xDF
*/
526 ; 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, /* 0xE0 to 0xEF
*/
527 ; 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 /* 0xF0 to 0xFF
*/
528 ; };
529 ;
530 ; /*
531 ; *****************************************************************************************
****************
532 ; * FUNCTION PROTOTYPES
533 ; *****************************************************************************************
****************
534 ; */
535 ; static void OS_InitEventList(void);
536 ; static void OS_InitMisc(void);
537 ; static void OS_InitRdyList(void);
538 ; static void OS_InitTaskIdle(void);
539 ; static void OS_InitTaskStat(void);
540 ; static void OS_InitTCBList(void);
541 ;
542 ; /*$PAGE*/
543 ; /*
544 ; *****************************************************************************************
****************
545 ; * INITIALIZATION
546 ; *
547 ; * Description: This function is used to initialize the internals of uC/OS-II and MUST be
called prior to
548 ; * creating any uC/OS-II object and, prior to calling OSStart().
549 ; *
550 ; * Arguments : none
551 ; *
552 ; * Returns : none
553 ; *****************************************************************************************
****************
554 ; */
555 ;
556 ; void OSInit (void) reentrant
557
---- 558 RSEG ?PR?_?OSInit?OS_CORE
A51 MACRO ASSEMBLER OS_CORE 08/08/2005 12:35:32 PAGE 10
0000 559 _?OSInit:
560 USING 0
561 ; SOURCE LINE # 85
562 ; {
563 ; #if OS_VERSION >= 204
564 ; OSInitHookBegin(); /* Call port specific in
itialization code */
565 ; SOURCE LINE # 88
0000 120000 F 566 LCALL OSInitHookBegin
567 ; #endif
568 ;
569 ; OS_InitMisc(); /* Initialize miscellane
ous variables */
570 ; SOURCE LINE # 91
0003 120000 F 571 LCALL OS_InitMisc
572 ;
573 ; OS_InitRdyList(); /* Initialize the Ready
List */
574 ; SOURCE LINE # 93
0006 120000 F 575 LCALL OS_InitRdyList
576 ; OS_InitTCBList(); /* Initialize the free l
ist of OS_TCBs */
577 ; SOURCE LINE # 94
0009 120000 F 578 LCALL OS_InitTCBList
579 ; OS_InitEventList(); /* Initialize the free l
ist of OS_EVENTs */
580 ; SOURCE LINE # 95
000C 120000 F 581 LCALL OS_InitEventList
582 ;
583 ; #if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0)
584 ; OS_FlagInit(); /* Initialize the event
flag structures */
585 ; #endif
586 ;
587 ; #if (OS_MEM_EN > 0) && (OS_MAX_MEM_PART > 0)
588 ; OS_MemInit(); /* Initialize the memory
manager */
589 ; #endif
590 ;
591 ; #if (OS_Q_EN > 0) && (OS_MAX_QS > 0)
592 ; OS_QInit(); /* Initialize the messag
e queue structures */
593 ; #endif
594 ;
595 ; OS_InitTaskIdle(); /* Create the Idle Task
*/
596 ; SOURCE LINE # 109
000F 120000 F 597 LCALL OS_InitTaskIdle
598 ; #if OS_TASK_STAT_EN > 0
599 ; OS_InitTaskStat(); /* Create the Statistic
Task */
600 ; #endif
601 ;
602 ; #if OS_VERSION >= 204
603 ; OSInitHookEnd(); /* Call port specific in
it. code */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -