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

📄 os_core.lst

📁 在MC68HC908JB8上移植UCOSII成功
💻 LST
📖 第 1 页 / 共 5 页
字号:
  649:  
  650:  #if     OS_MBOX_EN || (OS_Q_EN && (OS_MAX_QS >= 2)) || OS_SEM_EN
  651:          ptcb->OSTCBEventPtr  = (OS_EVENT *)0;              /* Task is not pending on an event          */
  652:  #endif
  653:  
  654:  #if     OS_MBOX_EN || (OS_Q_EN && (OS_MAX_QS >= 2))
  655:          ptcb->OSTCBMsg       = (void *)0;                  /* No message received                      */
  656:  #endif
  657:  
  658:          OS_ENTER_CRITICAL();
  0070 9b               SEI   
  659:          OSTCBPrioTbl[prio]   = ptcb;
  0071 9eee11           LDX   17,SP
  0074 58               LSLX  
  0075 9ee603           LDA   3,SP
  0078 87               PSHA  
  0079 8a               PULH  
  007a 89               PSHX  
  007b 9eee05           LDX   5,SP
  007e 8c               CLRH  
  007f 9eef02           STX   2,SP
  0082 88               PULX  
  0083 9ee702           STA   2,SP
  0086 9ee601           LDA   1,SP
  0089 e701             STA   @OSTCBPrioTbl:1,X
  008b 9ee603           LDA   3,SP
  008e e700             STA   @OSTCBPrioTbl,X
  660:          ptcb->OSTCBNext      = OSTCBList;                  /* Link into TCB chain                      */
  0090 9ee603           LDA   3,SP
  0093 87               PSHA  
  0094 8a               PULH  
  0095 b600             LDA   OSTCBList
  0097 9eee01           LDX   1,SP
  009a e702             STA   2,X
  009c b601             LDA   OSTCBList:1
  009e e703             STA   3,X
  661:          ptcb->OSTCBPrev      = (OS_TCB *)0;
  00a0 6f05             CLR   5,X
  00a2 6f04             CLR   4,X
  662:          if (OSTCBList != (OS_TCB *)0) {
  00a4 5500             LDHX  OSTCBList
  00a6 650000           CPHX  #0
  00a9 270a             BEQ   LB5 ;abs = 00b5
  663:              OSTCBList->OSTCBPrev = ptcb;
  00ab 9ee601           LDA   1,SP
  00ae e705             STA   5,X
  00b0 9ee602           LDA   2,SP
  00b3 e704             STA   4,X
  00b5          LB5:    
  664:          }
  665:          OSTCBList               = ptcb;
  00b5 95               TSX   
  00b6 e602             LDA   2,X
  00b8 87               PSHA  
  00b9 ee03             LDX   3,X
  00bb 8a               PULH  
  00bc bf01             STX   OSTCBList:1
  00be b700             STA   OSTCBList
  666:          OSRdyGrp               |= ptcb->OSTCBBitY;         /* Make task ready to run                   */
  00c0 b600             LDA   OSRdyGrp
  00c2 ea0d             ORA   13,X
  00c4 b700             STA   OSRdyGrp
  667:          OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
  00c6 ee0b             LDX   11,X
  00c8 89               PSHX  
  00c9 be01             LDX   OSTCBList:1
  00cb e60c             LDA   12,X
  00cd 8c               CLRH  
  00ce 88               PULX  
  00cf ea00             ORA   @OSRdyTbl,X
  00d1 e700             STA   @OSRdyTbl,X
  668:          OS_EXIT_CRITICAL();
  00d3 9a               CLI   
  669:          return (OS_NO_ERR);
  00d4 4f               CLRA  
  00d5 2003             BRA   LDA ;abs = 00da
  00d7          LD7:    
  670:      } else {
  671:          OS_EXIT_CRITICAL();
  00d7 9a               CLI   
  672:          return (OS_NO_MORE_TCB);
  00d8 a646             LDA   #70
  00da          LDA:    
  673:      }
  674:  }
  00da a704             AIS   #4
  00dc 81               RTS   
  675:  /*$PAGE*/
  676:  /*
  677:  *********************************************************************************************************
  678:  *                                         PROCESS SYSTEM TICK
  679:  *
  680:  * Description: This function is used to signal to uC/OS-II the occurrence of a 'system tick' (also known
  681:  *              as a 'clock tick').  This function should be called by the ticker ISR but, can also be
  682:  *              called by a high priority task.
  683:  *
  684:  * Arguments  : none
  685:  *
  686:  * Returns    : none
  687:  *********************************************************************************************************
  688:  */
  689:  
  690:  void OSTimeTick (void)
  691:  {

Function: OSTimeTick
Source  : C:\motoctest\ucos1\sources\os_core.c
Options : -Cc -EnvGENPATH=C:\motoctest\ucos1;C:\motoctest\ucos1\bin;C:\motoctest\ucos1\cmd;C:\motoctest\ucos1\prm;C:\motoctest\ucos1\sources;C:\Metrowerks\lib\HC08c\LIB;C:\Metrowerks\lib\HC08c\src;C:\Metrowerks\lib\HC08c\INCLUDE -EnvLIBPATH=C:\Metrowerks\lib\HC08c\INCLUDE -EnvOBJPATH=C:\motoctest\ucos1\bin -EnvTEXTPATH=C:\motoctest\ucos1\bin -La=%f.inc -Lasm=%n.lst -ObjN=C:\motoctest\ucos1\ucos1_Data\MMDS-MMEVS\ObjectCode\os_core.c.o

  0000 a7fc             AIS   #-4
  692:      OS_TCB *ptcb;
  693:  
  694:  
  695:      OSTimeTickHook();                                      /* Call user definable hook                 */
  0002 cd0000           JSR   OSTimeTickHook
  696:      ptcb = OSTCBList;                                      /* Point at first TCB in TCB list           */
  0005 b601             LDA   OSTCBList:1
  0007 be00             LDX   OSTCBList
  0009 9ee704           STA   4,SP
  000c 9eef03           STX   3,SP
  697:      while (ptcb->OSTCBPrio != OS_IDLE_PRIO) {              /* Go through all TCBs in TCB list          */
  000f 206c             BRA   L7D ;abs = 007d
  0011          L11:    
  698:          OS_ENTER_CRITICAL();
  0011 9b               SEI   
  699:          if (ptcb->OSTCBDly != 0) {                         /* Delayed or waiting for event with TO     */
  0012 9eee04           LDX   4,SP
  0015 9ee603           LDA   3,SP
  0018 87               PSHA  
  0019 8a               PULH  
  001a e607             LDA   7,X
  001c ea06             ORA   6,X
  001e 274a             BEQ   L6A ;abs = 006a
  700:              if (--ptcb->OSTCBDly == 0) {                   /* Decrement nbr of ticks to end of delay   */
  0020 9f               TXA   
  0021 ab06             ADD   #6
  0023 87               PSHA  
  0024 8b               PSHH  
  0025 86               PULA  
  0026 a900             ADC   #0
  0028 87               PSHA  
  0029 8b               PSHH  
  002a 86               PULA  
  002b 9ee703           STA   3,SP
  002e 86               PULA  
  002f 87               PSHA  
  0030 9eef04           STX   4,SP
  0033 8a               PULH  
  0034 88               PULX  
  0035 6d01             TST   1,X
  0037 2601             BNE   L3A ;abs = 003a
  0039 7a               DEC   ,X
  003a          L3A:    
  003a 6a01             DEC   1,X
  003c 95               TSX   
  003d f6               LDA   ,X
  003e 87               PSHA  
  003f ee01             LDX   1,X
  0041 8a               PULH  
  0042 e607             LDA   7,X
  0044 ea06             ORA   6,X
  0046 2622             BNE   L6A ;abs = 006a
  701:                  if (!(ptcb->OSTCBStat & OS_STAT_SUSPEND)) {    /* Is task suspended?                   */
  0048 e608             LDA   8,X
  004a a508             BIT   #8
  004c 2616             BNE   L64 ;abs = 0064
  702:                      OSRdyGrp               |= ptcb->OSTCBBitY; /* No,  Make task Rdy to Run (timed out)*/
  004e b600             LDA   OSRdyGrp
  0050 ea0d             ORA   13,X
  0052 b700             STA   OSRdyGrp
  703:                      OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
  0054 ee0b             LDX   11,X
  0056 89               PSHX  
  0057 9eee03           LDX   3,SP
  005a e60c             LDA   12,X
  005c 8c               CLRH  
  005d 88               PULX  
  005e ea00             ORA   @OSRdyTbl,X
  0060 e700             STA   @OSRdyTbl,X
  704:                  } else {                                       /* Yes, Leave 1 tick to prevent ...     */
  0062 2006             BRA   L6A ;abs = 006a
  0064          L64:    
  705:                      ptcb->OSTCBDly = 1;                        /* ... loosing the task when the ...    */
  0064 a601             LDA   #1
  0066 e707             STA   7,X
  0068 6f06             CLR   6,X
  006a          L6A:    
  706:                  }                                              /* ... suspension is removed.           */
  707:              }
  708:          }
  709:          ptcb = ptcb->OSTCBNext;                            /* Point at next TCB in TCB list            */
  006a 9eee04           LDX   4,SP
  006d 9ee603           LDA   3,SP
  0070 87               PSHA  
  0071 8a               PULH  
  0072 e603             LDA   3,X
  0074 9ee704           STA   4,SP
  0077 e602             LDA   2,X
  0079 9ee703           STA   3,SP
  710:          OS_EXIT_CRITICAL();
  007c 9a               CLI   
  007d          L7D:    
  007d 95               TSX   
  007e e602             LDA   2,X
  0080 87               PSHA  
  0081 ee03             LDX   3,X
  0083 8a               PULH  
  0084 e609             LDA   9,X
  0086 a103             CMP   #3
  0088 2687             BNE   L11 ;abs = 0011
  711:      }
  712:      OS_ENTER_CRITICAL();                                   /* Update the 32-bit tick counter           */
  008a 9b               SEI   
  713:      OSTime++;
  008b 3c00             INC   OSTime
  714:      OS_EXIT_CRITICAL();
  008d 9a               CLI   
  715:  }
  008e a704             AIS   #4
  0090 81               RTS   
  716:  /*$PAGE*/
  717:  /*
  718:  *********************************************************************************************************
  719:  *                                             GET VERSION
  720:  *
  721:  * Description: This function is used to return the version number of uC/OS-II.  The returned value
  722:  *              corresponds to uC/OS-II's version number multiplied by 100.  In other words, version 2.00
  723:  *              would be returned as 200.
  724:  *
  725:  * Arguments  : none
  726:  *
  727:  * Returns    : the version number of uC/OS-II multiplied by 100.
  728:  *********************************************************************************************************
  729:  */
  730:  
  731:  INT16U OSVersion (void)
  732:  {

Function: OSVersion
Source  : C:\motoctest\ucos1\sources\os_core.c
Options : -Cc -EnvGENPATH=C:\motoctest\ucos1;C:\motoctest\ucos1\bin;C:\motoctest\ucos1\cmd;C:\motoctest\ucos1\prm;C:\motoctest\ucos1\sources;C:\Metrowerks\lib\HC08c\LIB;C:\Metrowerks\lib\HC08c\src;C:\Metrowerks\lib\HC08c\INCLUDE -EnvLIBPATH=C:\Metrowerks\lib\HC08c\INCLUDE -EnvOBJPATH=C:\motoctest\ucos1\bin -EnvTEXTPATH=C:\motoctest\ucos1\bin -La=%f.inc -Lasm=%n.lst -ObjN=C:\motoctest\ucos1\ucos1_Data\MMDS-MMEVS\ObjectCode\os_core.c.o

  733:      return (OS_VERSION);
  0000 a6c8             LDA   #-56
  0002 5f               CLRX  
  734:  }
  0003 81               RTS   
  735:  

⌨️ 快捷键说明

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