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

📄 os_cpu_a.lst

📁 一个关于UCOS的KEIL工程
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  OS_CPU_A                                                             04/08/2008 09:22:25 PAGE     1


MACRO ASSEMBLER A51 V8.00d
OBJECT MODULE PLACED IN OS_CPU_A.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE OS_CPU_A.ASM SET(LARGE) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;******************************************************************************************
                             **************
                       2     ;                                               uC/OS-II
                       3     ;                                         The Real-Time Kernel
                       4     ;
                       5     ;                          (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
                       6     ;                                          All Rights Reserved
                       7     ;
                       8     ;
                       9     ;                                        8051/8052 Specific code
                      10     ;                                          LARGE MEMORY MODEL
                      11     ;
                      12     ;                                        Keil C Compiler V6.23a
                      13     ;                                       (MSC51 Compatible Target)
                      14     ;
                      15     ; File         : OS_CPU_A.ASM
                      16     ; By           : Jean J. Labrosse
                      17     ; Replant      : wl.peng
                      18     ;******************************************************************************************
                             **************
                      19     
                      20                 NAME    OS_CPU_A
                      21                 
                      22     ;******************************************************************************************
                             **************
                      23     ;                                    PUBLIC and EXTERNAL REFERENCES
                      24     ;******************************************************************************************
                             **************
                      25                     
                      26     ?PR?_?OSStartHighRdy?OS_CPU_A           SEGMENT     CODE
                      27     ?PR?_?OSCtxSw?OS_CPU_A                  SEGMENT     CODE
                      28     ?PR?_?OSIntCtxSw?OS_CPU_A               SEGMENT     CODE
                      29     ?PR?_?OSTickISR?OS_CPU_A                SEGMENT     CODE
                      30     ?STACK                                                  SEGMENT     IDATA
                      31     DT?OS_CPU_A                                             SEGMENT     DATA
                      32                     
                      33             PUBLIC  _?OSTickISR
                      34             PUBLIC  _?OSStartHighRdy
                      35             PUBLIC  _?OSCtxSw
                      36             PUBLIC  _?OSIntCtxSw
                      37             PUBLIC  OSTickRate
                      38             PUBLIC  OSTickCtr
                      39             
                      40             EXTRN   DATA    (?C_XBP)
                      41             EXTRN   XDATA   (OSTCBCur)
                      42             EXTRN   XDATA   (OSTCBHighRdy)              
                      43             EXTRN   XDATA   (OSPrioCur)                 
                      44             EXTRN   XDATA   (OSPrioHighRdy)             
                      45             EXTRN   XDATA   (OSRunning)                 
                      46                                                         
                      47             EXTRN   CODE    (_?OSIntEnter)              
                      48             EXTRN   CODE    (_?OSIntExit)               
                      49             EXTRN   CODE    (_?OSTimeTick)              
                      50             EXTRN   CODE    (_?OSTaskSwHook)
                      51                                                 
                      52     ;******************************************************************************************
                             **************
                      53     ;                                           MACRO DEFINE
A51 MACRO ASSEMBLER  OS_CPU_A                                                             04/08/2008 09:22:25 PAGE     2

                      54     ;******************************************************************************************
                             **************
                      55                                                 
                      56     PUSHALL     MACRO
                      57                 PUSH        ACC
                      58                 PUSH        B
                      59                 PUSH        DPH
                      60                 PUSH        DPL
                      61                 PUSH        PSW
                      62                 
                      63                 IRP         REG,    <R0, R1, R2, R3, R4, R5, R6, R7>
                      64                 MOV         A,      REG
                      65                 PUSH        ACC
                      66                 ENDM
                      67                 
                      68                 ENDM            
                      69     
                      70     
                      71     POPALL      MACRO
                      72                 IRP         REG,    <R7, R6, R5, R4, R3, R2, R1, R0>
                      73                 POP         ACC
                      74                 MOV         REG,    A
                      75                 ENDM
                      76                 
                      77                 POP         PSW
                      78                 POP         DPL
                      79                 POP         DPH
                      80                 POP         B
                      81                 POP         ACC
                      82                 ENDM
                      83     
                      84     
                      85     LoadXBP     MACRO
                      86                 MOV         DPH,    ?C_XBP
                      87                 MOV         DPL,    ?C_XBP+1
                      88                 ENDM
                      89     
                      90     
                      91     SaveXBP     MACRO
                      92                 ;PUSH        IE
                      93                 ;CLR         EA
                      94                 MOV          ?C_XBP,  DPH
                      95                 MOV          ?C_XBP+1,DPL
                      96                 ;POP         IE
                      97                 ENDM
                      98     
                      99     
                     100     LoadReg     MACRO       REG
                     101                 MOVX        A,      @DPTR
                     102                 MOV         REG,    A
                     103                 ENDM
                     104                 
                     105     
                     106     SaveReg     MACRO       REG
                     107                 MOV         A,      REG
                     108                 MOVX        @DPTR,  A
                     109                 ENDM
                     110     
                     111                 
                     112     ;******************************************************************************************
                             **************
                     113     ;                                           VARIABLE DEFINE
                     114     ;******************************************************************************************
                             **************
                     115     
----                 116                 RSEG        ?STACK
A51 MACRO ASSEMBLER  OS_CPU_A                                                             04/08/2008 09:22:25 PAGE     3

0000                 117                         DS                  1                                        ; SP start
                              address (acllocation by keil c)
                     118     
----                 119                 RSEG        DT?OS_CPU_A
0000                 120     OSTickRate:
0000                 121                 DS          1
0001                 122     OSTickCtr:
0001                 123                 DS          1
                     124     
                     125     ;******************************************************************************************
                             **************
                     126     ;                                    void _?OSStartHighRdy(void);
                     127     ;******************************************************************************************
                             **************           
                     128     
----                 129                 RSEG        ?PR?_?OSStartHighRdy?OS_CPU_A
0000                 130     _?OSStartHighRdy:
                     131                 
0000 120000   F      132                 LCALL       _?OSTaskSwHook
                     133                 
                     134                 ; OSRunning = TRUE;
0003 758200   F      135                 MOV                 DPL,            #LOW(OSRunning)
0006 758300   F      136                 MOV                 DPH,            #HIGH(OSRunning)
                     137                 SaveReg             #01
                     140                 
000C 020000   F      141                 LJMP        ?C_XBP_Load
                     142     
                     143     ;******************************************************************************************
                             **************
                     144     ;                                    void OSCtxSw(void);
                     145     ;******************************************************************************************
                             **************
                     146                 
----                 147                 RSEG        ?PR?_?OSCtxSw?OS_CPU_A
0000                 148     _?OSCtxSw:
                     149                 PUSHALL
0022                 177     SP_Offset:
                     178                 LoadXBP
                     181                 
0028 E581            182                 MOV         A,      SP
002A C3              183                 CLR         C
002B 9400     F      184                 SUBB        A,      #?STACK-1
002D FD              185                 MOV                 R5,             A
002E 04              186                 INC         A
002F C3              187                 CLR         C
0030 C582            188                 XCH         A,      DPL
0032 9582            189                 SUBB        A,      DPL
0034 5002            190                 JNC         SP_Save
0036 1583            191                 DEC         DPH
0038                 192     SP_Save:
0038 F582            193                 MOV         DPL,    A
                     194                 

⌨️ 快捷键说明

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