os_cpu.lst

来自「MinOS嵌入式操作系统,C/C++源代码!基于KeilC51编译器.」· LST 代码 · 共 50 行

LST
50
字号
C51 COMPILER V7.06   OS_CPU                                                                07/31/2004 19:16:35 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE OS_CPU
OBJECT MODULE PLACED IN OS_CPU.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE OS_CPU.C BROWSE DEBUG OBJECTEXTEND SRC(.\OS_CPU.SRC)

stmt level    source

   1          /*
   2          *********************************************************************************************************
   3          *                                      minOS 0.01v
   4          *                                The Real-Time OS Kernel
   5          *                                  All Rights Reserved
   6          * File : OS_CPU.C
   7          * 作者 : 21icbbs网友 LM7556 ,2004年7月   by : LM7556 , China , 2004-2004 
   8          *
   9          *********************************************************************************************************
  10          */
  11          
  12          #define OS_CPU_GLOBALS
  13          #include "OS_Includes.h"
  14          
  15          
  16          //汇编宏_POPA_,_PUSHA_ 用于任务切换时保存和恢复现场。
  17          #pragma ASM
  18                          _POPA_  MACRO
  19                                          IRP     REG,    <7, 6, 5, 4, 3, 2, 1, 0, PSW, DPL, DPH, B, ACC>
  20                                          POP     REG
  21                                          ENDM
  22                          ENDM
  23          
  24                          _PUSHA_ MACRO
  25                                  IRP     REG,    <ACC, B, DPH, DPL, PSW, 0, 1, 2, 3, 4, 5, 6, 7>
  26                                  PUSH    REG
  27                                  ENDM
  28                          ENDM
  29          #pragma ENDASM
  30          
  31          //;CPU specific definitions 
  32          #define C51_CRYSTAL_FREQ   11059200ul
  33          //;Determine the reload values for timer 0 this is automated by the next macro
  34          #define T0_RELOAD  C51_CRYSTAL_FREQ / OS_TICKS_PER_SEC / 12
  35          #define T0_RELOADH (65536 - (T0_RELOAD & 65535)) / 256
  36          #define T0_RELOADL (65536 - (T0_RELOAD & 65535)) & 255
  37          //Initial OS Timer for time ticks --- 初始化时间节拍定时器。
  38          void InitOSTimer(void)
  39          {
  40   1          TMOD=(TMOD & 0XF0) | 0X01;  /* Timer 0 working in MODE 1 */
  41   1          TH0=T0_RELOADH;     //设置Tick次/秒,

⌨️ 快捷键说明

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