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

📄 os_cpu_a.ls1

📁 移植UCOS2.00版内核到8051
💻 LS1
📖 第 1 页 / 共 4 页
字号:
A51 MACRO ASSEMBLER  OS_CPU_A                                                             10/23/2007 17:47:44 PAGE     1


MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN OS_CPU_A.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE OS_CPU_A.src PR(.\OS_CPU_A.ls1) EP DEBUG

LOC  OBJ            LINE     SOURCE

                       1     ; .\OS_CPU_A.SRC generated from: OS_CPU_A.C
                       2     ; COMPILER INVOKED BY:
                       3     ;        C:\Keil\C51\BIN\C51.EXE OS_CPU_A.C LARGE BROWSE DEBUG OBJECTEXTEND SRC(.\OS_CPU_A.
                             SRC)
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    OS_CPU_A
                       8     
  0080                 9     P0      DATA    080H
  0090                10     P1      DATA    090H
  00A0                11     P2      DATA    0A0H
  00B0                12     P3      DATA    0B0H
  00B4                13     T0      BIT     0B0H.4
  00D6                14     AC      BIT     0D0H.6
  00B5                15     T1      BIT     0B0H.5
  00AF                16     EA      BIT     0A8H.7
  00A8                17     IE      DATA    0A8H
  00B7                18     RD      BIT     0B0H.7
  00AC                19     ES      BIT     0A8H.4
  00B8                20     IP      DATA    0B8H
  0098                21     RI      BIT     098H.0
  00B2                22     INT0    BIT     0B0H.2
  00D7                23     CY      BIT     0D0H.7
  0099                24     TI      BIT     098H.1
  00B3                25     INT1    BIT     0B0H.3
  00BC                26     PS      BIT     0B8H.4
  0081                27     SP      DATA    081H
  00D2                28     OV      BIT     0D0H.2
  00B6                29     WR      BIT     0B0H.6
  0099                30     SBUF    DATA    099H
  0087                31     PCON    DATA    087H
  0098                32     SCON    DATA    098H
  0089                33     TMOD    DATA    089H
  0088                34     TCON    DATA    088H
  0089                35     IE0     BIT     088H.1
  008B                36     IE1     BIT     088H.3
  00F0                37     B       DATA    0F0H
  00E0                38     ACC     DATA    0E0H
  00A9                39     ET0     BIT     0A8H.1
  00AB                40     ET1     BIT     0A8H.3
  008D                41     TF0     BIT     088H.5
  008F                42     TF1     BIT     088H.7
  009A                43     RB8     BIT     098H.2
  008C                44     TH0     DATA    08CH
  00A8                45     EX0     BIT     0A8H.0
  0088                46     IT0     BIT     088H.0
  008D                47     TH1     DATA    08DH
  009B                48     TB8     BIT     098H.3
  00AA                49     EX1     BIT     0A8H.2
  008A                50     IT1     BIT     088H.2
  00D0                51     P       BIT     0D0H.0
  009F                52     SM0     BIT     098H.7
  008A                53     TL0     DATA    08AH
  009E                54     SM1     BIT     098H.6
  008B                55     TL1     DATA    08BH
  009D                56     SM2     BIT     098H.5
  00B9                57     PT0     BIT     0B8H.1
A51 MACRO ASSEMBLER  OS_CPU_A                                                             10/23/2007 17:47:44 PAGE     2

  00BB                58     PT1     BIT     0B8H.3
  00D3                59     RS0     BIT     0D0H.3
  008C                60     TR0     BIT     088H.4
  00D4                61     RS1     BIT     0D0H.4
  008E                62     TR1     BIT     088H.6
  00B8                63     PX0     BIT     0B8H.0
  00BA                64     PX1     BIT     0B8H.2
  0083                65     DPH     DATA    083H
  0082                66     DPL     DATA    082H
  009C                67     REN     BIT     098H.4
  00B0                68     RXD     BIT     0B0H.0
  00B1                69     TXD     BIT     0B0H.1
  00D5                70     F0      BIT     0D0H.5
  00D0                71     PSW     DATA    0D0H
                      72     ?PR?OSCtxSw?OS_CPU_A SEGMENT CODE 
                      73     ?PR?OSTickISR?OS_CPU_A                   SEGMENT CODE 
                      74     ?PR?OSIntCtxSw?OS_CPU_A                  SEGMENT CODE 
                      75     ?PR?OSStartHighRdy?OS_CPU_A              SEGMENT CODE 
                      76     ?PR?_?SerialISR?OS_CPU_A                 SEGMENT CODE 
                      77     ?XD?OS_CPU_A         SEGMENT XDATA 
                      78             EXTRN   XDATA (OSRunning)
                      79             EXTRN   CODE (_?OSIntExit)
                      80             EXTRN   CODE (_?serial)
                      81             EXTRN   XDATA (OSTCBCur)
                      82             EXTRN   XDATA (OSTCBHighRdy)
                      83             EXTRN   CODE (_?OSTaskSwHook)
                      84             EXTRN   CODE (_?OSTimeTick)
                      85             EXTRN   XDATA (OSPrioCur)
                      86             EXTRN   CODE (_?OSIntEnter)
                      87             EXTRN   XDATA (OSPrioHighRdy)
                      88             EXTRN   DATA (UserSysSP_Start)
                      89             EXTRN   CODE (?C?PLDPTR)
                      90             EXTRN   CODE (?C?CSTPTR)
                      91             EXTRN   CODE (?C?CLDPTR)
                      92             PUBLIC  UserStkSP_tmp
                      93             PUBLIC  _?SerialISR
                      94             PUBLIC  OSStartHighRdy
                      95             PUBLIC  OSIntCtxSw
                      96             PUBLIC  OSTickISR
                      97             PUBLIC  OSCtxSw
                      98     
----                  99             RSEG  ?XD?OS_CPU_A
0000                 100       UserStkSP_tmp:   DS   3
                     101     ; /*
                     102     ; *****************************************************************************************
                             ****************
                     103     ; *                                               uC/OS-II
                     104     ; *                                               实时内核
                     105     ; *
                     106     ; *                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
                     107     ; *                                               版权所有
                     108     ; *
                     109     ; *                                            MCU-51 专用代码
                     110     ; *                                           KEIL C51大模式编译
                     111     ; *
                     112     ; * 文件名 : OS_CPU_A.C
                     113     ; * 作者   : Jean J. Labrosse
                     114     ; * 改编   : 柯新 kexin28@126.com 深圳众芯科技有限公司软件部 2007.10.22
                     115     ; *****************************************************************************************
                             ****************
                     116     ; */
                     117     ; 
                     118     ; //#define  OS_CPU_GLOBALS
                     119     ; #include "includes.h"
                     120     ; 
                     121     ; OS_STK  *UserStkSP_tmp;
A51 MACRO ASSEMBLER  OS_CPU_A                                                             10/23/2007 17:47:44 PAGE     3

                     122     ; 
                     123     ; #if CXBP_OK>0
                     124     ; #pragma asm
                     125               EXTRN DATA  (?C_XBP)     ;仿真堆栈指针用于重入局部变量保存    
                     126     ; #pragma endasm
                     127     ; #endif
                     128     ; 
                     129     ; #pragma asm
                     130       
                     131       PUSHALL MACRO
                     132       
                     133               PUSH PSW
                     134               PUSH ACC
                     135               PUSH B
                     136               PUSH DPL
                     137               PUSH DPH
                     138               MOV  A,R0   ;R0-R7入栈
                     139               PUSH ACC
                     140               MOV  A,R1
                     141               PUSH ACC
                     142               MOV  A,R2
                     143               PUSH ACC
                     144               MOV  A,R3
                     145               PUSH ACC
                     146               MOV  A,R4
                     147               PUSH ACC
                     148               MOV  A,R5
                     149               PUSH ACC
                     150               MOV  A,R6
                     151               PUSH ACC
                     152               MOV  A,R7
                     153               PUSH ACC
                     154       
                     155       ENDM
                     156       
                     157     ; #pragma endasm
                     158     ; 
                     159     ; #pragma asm
                     160       
                     161       POPALL MACRO
                     162       
                     163               POP  ACC    ;R0-R7出栈
                     164               MOV  R7,A
                     165               POP  ACC
                     166               MOV  R6,A
                     167               POP  ACC
                     168               MOV  R5,A
                     169               POP  ACC
                     170               MOV  R4,A
                     171               POP  ACC
                     172               MOV  R3,A
                     173               POP  ACC
                     174               MOV  R2,A
                     175               POP  ACC
                     176               MOV  R1,A
                     177               POP  ACC
                     178               MOV  R0,A
                     179               POP  DPH
                     180               POP  DPL
                     181               POP  B
                     182               POP  ACC
                     183               POP  PSW
                     184       
                     185       ENDM
                     186       
                     187     ; #pragma endasm
A51 MACRO ASSEMBLER  OS_CPU_A                                                             10/23/2007 17:47:44 PAGE     4

                     188     ; 
                     189     ; void OSCtxSw(void)
                     190     
----                 191             RSEG  ?PR?OSCtxSw?OS_CPU_A
0000                 192     OSCtxSw:
                     193             USING   0
                     194                             ; SOURCE LINE # 89
                     195     ; {
                     196                             ; SOURCE LINE # 90
                     197     ;       OS_STK idata *SysStkSP;
                     198     ;       OS_STK *UserStkSP;
                     199     ;       INT8U  STKCount;
                     200     ;       
                     201     ; #pragma asm
                     202     ;   PUSHALL 
                     203               PUSHALL 
                     227     ; #pragma endasm
                     228     ; 
                     229     ;   SysStkSP=UserSysSP_Start;
                     230                             ; SOURCE LINE # 99
0022 AF00     F      231             MOV     R7,UserSysSP_Start
                     232     ;---- Variable 'SysStkSP?040' assigned to Register 'R7' ----
                     233     ;   STKCount=SP-UserSysSP_Start;
                     234                             ; SOURCE LINE # 100
0024 C3              235             CLR     C
0025 E581            236             MOV     A,SP
0027 9500     F      237             SUBB    A,UserSysSP_Start
0029 FE              238             MOV     R6,A
                     239     ;---- Variable 'STKCount?042' assigned to Register 'R6' ----
                     240     ;   UserStkSP=OSTCBCur->OSTCBStkPtr;
                     241                             ; SOURCE LINE # 101
002A 900000   F      242             MOV     DPTR,#OSTCBCur
002D E0              243             MOVX    A,@DPTR
002E FB              244             MOV     R3,A
002F A3              245             INC     DPTR
0030 E0              246             MOVX    A,@DPTR
0031 FA              247             MOV     R2,A
0032 A3              248             INC     DPTR
0033 E0              249             MOVX    A,@DPTR
0034 F9              250             MOV     R1,A
0035 120000   F      251             LCALL   ?C?PLDPTR
                     252     ;---- Variable 'UserStkSP?041' assigned to Register 'R1/R2/R3' ----
                     253     ;   
                     254     ;   *UserStkSP=STKCount;
                     255                             ; SOURCE LINE # 103
0038 EE              256             MOV     A,R6
0039 120000   F      257             LCALL   ?C?CSTPTR
003C                 258     ?C0003:
                     259     ;   
                     260     ;   do
                     261     ;   {
                     262                             ; SOURCE LINE # 106
                     263     ;       SysStkSP++;
                     264                             ; SOURCE LINE # 107
003C 0F              265             INC     R7
                     266     ;       UserStkSP++;
                     267                             ; SOURCE LINE # 108
003D 7401            268             MOV     A,#01H
003F 29              269             ADD     A,R1
0040 F9              270             MOV     R1,A
0041 E4              271             CLR     A
0042 3A              272             ADDC    A,R2
0043 FA              273             MOV     R2,A
                     274     ;       *UserStkSP=*SysStkSP;
                     275                             ; SOURCE LINE # 109

⌨️ 快捷键说明

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