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

📄 misc.lst

📁 realtime RTOS NEW
💻 LST
字号:
C51 COMPILER V6.12  MISC                                                                   12/07/2004 17:58:48 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE MISC
OBJECT MODULE PLACED IN .\misc.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\..\arch\mcs51\src\misc.c INCDIR(d:\rs1.12b\) DEBUG OBJECTEXTEND PRINT
                    -(.\misc.lst) OBJECT(.\misc.obj) 

stmt level    source

   1          /*
   2          ===============================================================================
   3          | Copyright (C) 2004 RuanHaiShen, All rights reserved.
   4          | SUMMARY: 
   5          |   Miscellaneous functions.
   6          |
   7          | DESCRIPTION:
   8          |   See http://www.01s.org for documentation, latest information, license 
   9          |   and contact details.
  10          |   email:ruanhaishen@01s.org
  11          =============================================================================*/
  12          /*===========================================================================*/
  13          #include "arch/arch.h"
  14          #include "inc/queue.h"
  15          #include "inc/kernel.h"
  16          #include "inc/memory.h"
  17          #include "inc/ipc.h"
  18          #include "inc/kapi.h"
  19          
  20          
  21          struct regs_context
  22          {
  23              u8 entry_l;
  24              u8 entry_h;
  25              u8 eninit_l;
  26              u8 eninit_h;
  27              u8 arg;
  28          };
  29          typedef struct regs_context regs_t;
  30          
  31          
  32          sp_t __stack_init(entry_t entry, arg_t arg, sp_t stack_base)
  33          {
  34   1          regs_t __p_* regs;
  35   1      
  36   1          regs = (regs_t __p_*)stack_base;
  37   1          regs->entry_l  = (u8)entry;
  38   1          regs->entry_h  = (u16)entry >> 8;
  39   1          regs->eninit_l = (u8)__entry_init;
  40   1          regs->eninit_h = (u16)__entry_init >> 8;
  41   1          if (entry != __idle_task) {
  42   2              regs->arg  = (u8)arg;
  43   2          }
  44   1      
  45   1          return  (sp_t)regs + 3;
  46   1      }
  47          
  48          void __mcs51_do_tick(void)
  49          {
  50   1          register u8 cprio;
  51   1      
  52   1          for (cprio = 0; cprio < TASK_IDLE_PRIO; cprio++) {
  53   2              if (_tasks[cprio].delay != 0 &&
  54   2                      !(_tasks[cprio].state & STATE_SUSPEND)) {
C51 COMPILER V6.12  MISC                                                                   12/07/2004 17:58:48 PAGE 2   

  55   3                  if (--_tasks[cprio].delay == 0) {
  56   4                      __ready_que_add(cprio);
  57   4                  }
  58   3              }
  59   2          }
  60   1      }
  61          
  62          void __switch_start(sp_t next_sp)
  63          {
  64   1      	SP = next_sp;
  65   1      }
  66          
  67          void __switch_to(sp_t __p_* current_spadr, sp_t next_spadr)
  68          {
  69   1          *current_spadr = (sp_t)SP;
  70   1          SP = next_spadr;
  71   1      }
  72          
  73          /*===========================================================================*/
  74          
  75          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    163    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       5
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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