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

📄 os_cpu_a.lst

📁 ATMEL ucos transplant of AVR
💻 LST
📖 第 1 页 / 共 4 页
字号:
###############################################################################
#                                                                             #
#     IAR Systems A90 Assembler V1.41B/386 13/Aug/2000  20:31:03              #
#     Copyright 1999 IAR Systems. All rights reserved.                        #
#                                                                             #
#           Target option =  Relative jumps do not wrap                       #
#           Source file   =  os_cpu_a.s90                                     #
#           List file     =  ..\lst\os_cpu_a.lst                              #
#           Object file   =  ..\obj\os_cpu_a.r90                              #
#           Command line  =  -v3 -r -o ..\obj\os_cpu_a.r90 -l                 #
#                            ..\lst\os_cpu_a os_cpu_a.s90                     #
#                                                                             #
###############################################################################

      1    00000000              ;*********************************************
                                 **********************************************
                                 *************
      2    00000000              ;                                             
                                   uC/OS-II
      3    00000000              ;                                         The
                                  Real-Time Kernel
      4    00000000              ;
      5    00000000              ;                                         
                                  ATmega103 Specific code
      6    00000000              ;                                           
                                  (IAR V1.40)
      7    00000000              ;
      8    00000000              ;
      9    00000000              ; File     : OS_CPU_A.S90
     10    00000000              ; By       : Ole Saether
     11    00000000              ;
     12    00000000              ; $Revision: 2 $
     13    00000000              ;
     14    00000000              ; $History: OS_CPU_A.S90 $
     15    00000000              ; 
     16    00000000              ; *****************  Version 2  **************
                                 ***
     17    00000000              ; User: Ole          Date: 8/13/00    Time:
                                  14:52
     18    00000000              ; Updated in $/UCOS-II/AT-M103
     19    00000000              ; Interrupts are now disabled until OSIntNesti
                                 ng is updated in OSTickISR.
     20    00000000              ; Moved save/restore of status register from
                                  PUSHRS/POPRS to two new
     21    00000000              ; macros: PUSHSREG and POPSREG.
     22    00000000              ; 
     23    00000000              ; *****************  Version 1  **************
                                 ***
     24    00000000              ; User: Ole          Date: 8/12/00    Time:
                                  17:41
     25    00000000              ; Created in $/UCOS-II/AT-M103
     26    00000000              ; File copied from AVR port version 1.0 to the
                                  version control system.
     27    00000000              ;
     28    00000000              ;*********************************************
                                 **********************************************
                                 *************
     29    00000000              ;                                          
                                  I/O PORT ADDRESSES
     30    00000000              ;*********************************************
                                 **********************************************
                                 *************
     31    00000000              
     32    0000003F              SREG    = 0x3F
     33    0000003E              SPH     = 0x3E
     34    0000003D              SPL     = 0x3D
     35    0000003B              RAMPZ   = 0x3B
     36    00000032              TCNT0   = 0x32
     37    00000000              
     38    00000000              ;*********************************************
                                 **********************************************
                                 *************
     39    00000000              ;                                         
                                  PUBLIC DECLARATIONS
     40    00000000              ;*********************************************
                                 **********************************************
                                 *************
     41    00000000              
     42    00000000                              MODULE  OS_CPU_A
     43    00000000                              PUBLIC  OSStartHighRdy
     44    00000000                              PUBLIC  OSCtxSw
     45    00000000                              PUBLIC  OSIntCtxSw
     46    00000000                              PUBLIC  OSTickISR
     47    00000000              
     48    00000000              ;*********************************************
                                 **********************************************
                                 *************
     49    00000000              ;                                        
                                  EXTERNAL DECLARATIONS
     50    00000000              ;*********************************************
                                 **********************************************
                                 *************
     51    00000000              
     52    00000000                              EXTERN  OSIntExit
     53    00000000                              EXTERN  OSIntNesting
     54    00000000                              EXTERN  OSPrioCur
     55    00000000                              EXTERN  OSPrioHighRdy
     56    00000000                              EXTERN  OSRunning
     57    00000000                              EXTERN  OSTaskSwHook
     58    00000000                              EXTERN  OSTCBCur
     59    00000000                              EXTERN  OSTCBHighRdy
     60    00000000                              EXTERN  OSTimeTick
     61    00000000              
     62    00000000              ;*********************************************
                                 **********************************************
                                 *************
     63    00000000              ;                                        
                                  MACROS
     64    00000000              ;*********************************************
                                 **********************************************
                                 *************
     65    00000000              
    100    00000000              
    135    00000000              
    142    00000000              
    149    00000000              
    154    00000000              
    159    00000000              
    160    00000000                              RSEG    CODE
    161    00000000              
    162    00000000              ;*********************************************
                                 **********************************************
                                 *************
    163    00000000              ;                               START HIGHEST
                                  PRIORITY TASK READY-TO-RUN
    164    00000000              ;
    165    00000000              ; Description : This function is called by
                                  OSStart() to start the highest priority task
                                  that was created
    166    00000000              ;               by your application before
                                  calling OSStart().
    167    00000000              ;
    168    00000000              ; Note(s)     : 1) The (data)stack frame is
                                  assumed to look as follows:
    169    00000000              ;
    170    00000000              ;                  OSTCBHighRdy->OSTCBStkPtr
                                  --> LSB of (return) stack pointer          
                                  (Low memory)
    171    00000000              ;                                             
                                    SPH of (return) stack pointer
    172    00000000              ;                                             
                                    Flags to load in status register
    173    00000000              ;                                             
                                    R31
    174    00000000              ;                                             
                                    R30
    175    00000000              ;                                             
                                    R7
    176    00000000              ;                                             
                                    .
    177    00000000              ;                                             
                                    .
    178    00000000              ;                                             
                                    .
    179    00000000              ;                                             
                                    R0                                     
                                  (High memory)
    180    00000000              ;
    181    00000000              ;                  where the stack pointer
                                  points to the task start address.
    182    00000000              ;
    183    00000000              ;
    184    00000000              ;               2) OSStartHighRdy() MUST:
    185    00000000              ;                      a) Call OSTaskSwHook()
                                  then,
    186    00000000              ;                      b) Set OSRunning to
                                  TRUE,
    187    00000000              ;                      c) Switch to the
                                  highest priority task.
    188    00000000              ;*********************************************
                                 **********************************************
                                 *************
    189    00000000              
    190    00000000 ........     OSStartHighRdy: CALL    OSTaskSwHook          
       ; Invoke user defined context switch hook
    191    00000004 9100....                     LDS     R16,OSRunning         
                                                                   ; Indicate
                                                              that we are
                                                              multitasking
    192    00000008 9503                         INC     R16                   
       ;
    193    0000000A 9300....                     STS     OSRunning,R16         
                                                                        
                                                                    ;
    194    0000000E              
    195    0000000E 91E0....                     LDS     R30,OSTCBHighRdy      
                                                                   ; Let Z
                                                              point to TCB of
                                                              highest priority
                                                              task
    196    00000012 91F0....                     LDS     R31,OSTCBHighRdy+1    
                                                                   ; ready to
                                                              run
    197    00000016 91C1                         LD      R28,Z+                

⌨️ 快捷键说明

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