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

📄 swi.lst

📁 射频芯片nRF905例程
💻 LST
字号:



ARM Macro Assembler    Page 1 


    1 00000000         ;/******************************************************
                       ***********************/
    2 00000000         ;/* SWI.S: SWI Handler                                  
                                             */
    3 00000000         ;/******************************************************
                       ***********************/
    4 00000000         ;/* This file is part of the uVision/ARM development too
                       ls.                   */
    5 00000000         ;/* Copyright (c) 2005-2006 Keil Software. All rights re
                       served.               */
    6 00000000         ;/* This software may only be used under the terms of a 
                       valid, current,       */
    7 00000000         ;/* end user licence from KEIL for a compatible version 
                       of KEIL software      */
    8 00000000         ;/* development tools. Nothing else gives you the right 
                       to use this software. */
    9 00000000         ;/******************************************************
                       ***********************/
   10 00000000 00000020 
                       T_Bit   EQU              0x20
   11 00000000                 PRESERVE8                    ; 8-Byte aligned St
                                                            ack
   12 00000000                 AREA             SWI_Area, CODE, READONLY
   13 00000000                 ARM
   14 00000000         
   15 00000000                 EXPORT           SWI_Handler
   16 00000000         SWI_Handler
   17 00000000 E14FC000        MRS              R12, SPSR   ; Get SPSR
   18 00000004 E31C0020        TST              R12, #T_Bit ; Check Thumb Bit
   19 00000008 115EC0B2        LDRNEH           R12, [LR,#-2] ; Thumb: Load Hal
                                                            fword
   20 0000000C 13CCCCFF        BICNE            R12, R12, #0xFF00 ;        Extr
                                                            act SWI Number
   21 00000010 051EC004        LDREQ            R12, [LR,#-4] 
                                                            ; ARM:   Load Word
   22 00000014 03CCC4FF        BICEQ            R12, R12, #0xFF000000 ;        
                                                            Extract SWI Number
   23 00000018 E35C0000        CMP              R12, #0     ;//SWI号判断,R12=0-
                                                            -os_switch_tasks,R1
                                                            2=1~7---SWI1~SWI7
   24 0000001C 1A00001F        BNE              User_swi
   25 00000020         ;/*------------------- os_switch_tasks -----------------
                       -------*/
   26 00000020 E94D2000        STMDB            SP,{SP}^    ;ARTX专用SWI0
   27 00000024 E1A00000        NOP
   28 00000028 E91D0002        LDMDB            SP,{R1}
   29 0000002C E14FC000        MRS              R12,SPSR
   30 00000030 E92150F0        STMDB            R1!,{R4-R7,R12,LR}
   31 00000034 E59F40B8        LDR              R4,=os_runtask ; os_runtask->ts
                                                            k_stack
   32 00000038 E5944000        LDR              R4,[R4,#0x0]
   33 0000003C E5841024        STR              R1,[R4,#0x0024] ;#TCB_TSTACK]
   34 00000040 E1A04000        MOV              R4,R0
   35 00000044 E28FC080        ADR              R12, SWI_Table ;?SWI?Table+4
   36 00000048 E59CC000        LDR              R12,[R12,#0x0] ; SWI function a
                                                            ddress
   37 0000004C E1A0E00F        MOV              LR, PC      ; Return Address
   38 00000050 E12FFF1C        BX               R12         ; Call SWI Function
                                                             



ARM Macro Assembler    Page 2 


   39 00000054 E594E024        LDR              LR,[R4,#0x0024] ;#TCB_TSTACK]; 
                                                            p_new->tsk_stack
   40 00000058 E5D40021        LDRB             R0,[R4,#0x0021] ;#TCB_FCTX]  ; 
                                                            p_new->full_ctx
   41 0000005C E3500000        CMP              R0,#0x0
   42 00000060 1A000005        BNE              Full_ctx
   43 00000064         
   44 00000064 E8BE11F0        LDMIA            R14!,{R4-R8,R12}
   45 00000068 E16FF008        MSR              SPSR_cxsf,R8
   46 0000006C E90D4000        STMDB            SP,{LR}
   47 00000070 E95D2000        LDMDB            SP,{SP}^    ; Set User SP
   48 00000074 E1A00000        NOP
   49 00000078 E1B0F00C        MOVS             PC,R12      ; RETI
   50 0000007C         
   51 0000007C         Full_ctx
   52 0000007C E28E0040        ADD              R0,LR,#64
   53 00000080 E910000E        LDMDB            R0,{R1-R3}  ; LR, CPSR (R3=dumm
                                                            y)
   54 00000084 E16FF002        MSR              SPSR_cxsf,R2 ; Set User CPSR
   55 00000088 E90D0003        STMDB            SP,{R0-R1}
   56 0000008C E95D6000        LDMDB            SP,{SP,LR}^ ; Set User SP,LR
   57 00000090 E1A00000        NOP                          ; required for gene
                                                            ric ARM7TDMI suppor
                                                            t
   58 00000094 E89E1FFF        LDMIA            LR,{R0-R12} ; Restore R12-R0
   59 00000098 E59EE03C        LDR              LR,[LR,#60] ; PC
   60 0000009C E1B0F00E        MOVS             PC,LR       ; RETI
   61 000000A0         
   62 000000A0         ;        /*------------------- User SWI ----------------
                       ---------------*/
   63 000000A0         
   64 000000A0 E92D4100 
                       User_swi
                               STMDB            SP!,{R8,LR} ;SWI1~SWI7
   65 000000A4 E59F801C        LDR              R8,SWI_Count
   66 000000A8 E15C0008        CMP              R12,R8
   67 000000AC 2A000004        BCS              SWI_Dead
   68 000000B0 E28F8014        ADR              R8,SWI_Table
   69 000000B4 E798C10C        LDR              R12, [R8,R12,LSL #2] ; Load SWI
                                                             Function Address
   70 000000B8 E1A0E00F        MOV              LR,PC
   71 000000BC E12FFF1C        BX               R12         ; Call SWI function
                                                            
   72 000000C0 E8FD8100        LDMIA            SP!,{R8,PC}^ ;执行SWI命令入口
   73 000000C4         ;扩展SWI命令
   74 000000C4 EAFFFFFE 
                       SWI_Dead
                               B                SWI_Dead    ; None Existing SWI
                                                            
   75 000000C8         
   76 000000C8 00000009 
                       SWI_Cnt EQU              (SWI_End-SWI_Table)/4
   77 000000C8 00000009 
                       SWI_Count
                               DCD              SWI_Cnt
   78 000000CC         
   79 000000CC                 IMPORT           __SWI_0     ;ARTX
   80 000000CC                 IMPORT           __SWI_1
   81 000000CC                 IMPORT           __SWI_2



ARM Macro Assembler    Page 3 


   82 000000CC                 IMPORT           __SWI_3
   83 000000CC                 IMPORT           __SWI_4
   84 000000CC                 IMPORT           __SWI_5
   85 000000CC                 IMPORT           __SWI_6     ;ARTX
   86 000000CC                 IMPORT           __SWI_7     ;ARTX
   87 000000CC                 IMPORT           __SWI_8
   88 000000CC         ;    EXPORT  __SWI_8
   89 000000CC         SWI_Table
   90 000000CC 00000000        DCD              __SWI_0     ; SWI 0 Function En
                                                            try
   91 000000D0 00000000        DCD              __SWI_1     ; SWI 1 Function En
                                                            try
   92 000000D4 00000000        DCD              __SWI_2     ; SWI 2 Function En
                                                            try
   93 000000D8 00000000        DCD              __SWI_3     ; SWI 3 Function En
                                                            try
   94 000000DC 00000000        DCD              __SWI_4     ; SWI 4 Function En
                                                            try
   95 000000E0 00000000        DCD              __SWI_5     ; SWI 5 Function En
                                                            try
   96 000000E4 00000000        DCD              __SWI_6     ; SWI 6 Function En
                                                            try
   97 000000E8 00000000        DCD              __SWI_7     ; SWI 7 Function En
                                                            try
   98 000000EC 00000000        DCD              __SWI_8
   99 000000F0         SWI_End
  100 000000F0                 IMPORT           os_runtask
  101 000000F0 00000000        DCD              os_runtask
  102 000000F4                 END
              00000000 
Command Line: --debug --xref --device=DARMP -o.\Obj\SWI.o --apcs=interwork -ID:
\Keil\ARM\INC\Philips --list=.\Lst\SWI.lst SWI.s



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Relocatable symbols

Full_ctx 0000007C

Symbol: Full_ctx
   Definitions
      At line 51 in file SWI.s
   Uses
      At line 42 in file SWI.s
Comment: Full_ctx used once
SWI_Area 00000000

Symbol: SWI_Area
   Definitions
      At line 12 in file SWI.s
   Uses
      None
Comment: SWI_Area unused
SWI_Count 000000C8

Symbol: SWI_Count
   Definitions
      At line 77 in file SWI.s
   Uses
      At line 65 in file SWI.s
Comment: SWI_Count used once
SWI_Dead 000000C4

Symbol: SWI_Dead
   Definitions
      At line 74 in file SWI.s
   Uses
      At line 67 in file SWI.s
      At line 74 in file SWI.s

SWI_End 000000F0

Symbol: SWI_End
   Definitions
      At line 99 in file SWI.s
   Uses
      At line 76 in file SWI.s
Comment: SWI_End used once
SWI_Handler 00000000

Symbol: SWI_Handler
   Definitions
      At line 16 in file SWI.s
   Uses
      At line 15 in file SWI.s
Comment: SWI_Handler used once
SWI_Table 000000CC

Symbol: SWI_Table
   Definitions
      At line 89 in file SWI.s
   Uses
      At line 35 in file SWI.s
      At line 68 in file SWI.s
      At line 76 in file SWI.s




ARM Macro Assembler    Page 2 Alphabetic symbol ordering
Relocatable symbols

User_swi 000000A0

Symbol: User_swi
   Definitions
      At line 64 in file SWI.s
   Uses
      At line 24 in file SWI.s
Comment: User_swi used once
8 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
Absolute symbols

SWI_Cnt 00000009

Symbol: SWI_Cnt
   Definitions
      At line 76 in file SWI.s
   Uses
      At line 77 in file SWI.s
Comment: SWI_Cnt used once
T_Bit 00000020

Symbol: T_Bit
   Definitions
      At line 10 in file SWI.s
   Uses
      At line 18 in file SWI.s
Comment: T_Bit used once
2 symbols



ARM Macro Assembler    Page 1 Alphabetic symbol ordering
External symbols

__SWI_0 00000000

Symbol: __SWI_0
   Definitions
      At line 79 in file SWI.s
   Uses
      At line 90 in file SWI.s
Comment: __SWI_0 used once
__SWI_1 00000000

Symbol: __SWI_1
   Definitions
      At line 80 in file SWI.s
   Uses
      At line 91 in file SWI.s
Comment: __SWI_1 used once
__SWI_2 00000000

Symbol: __SWI_2
   Definitions
      At line 81 in file SWI.s
   Uses
      At line 92 in file SWI.s
Comment: __SWI_2 used once
__SWI_3 00000000

Symbol: __SWI_3
   Definitions
      At line 82 in file SWI.s
   Uses
      At line 93 in file SWI.s
Comment: __SWI_3 used once
__SWI_4 00000000

Symbol: __SWI_4
   Definitions
      At line 83 in file SWI.s
   Uses
      At line 94 in file SWI.s
Comment: __SWI_4 used once
__SWI_5 00000000

Symbol: __SWI_5
   Definitions
      At line 84 in file SWI.s
   Uses
      At line 95 in file SWI.s
Comment: __SWI_5 used once
__SWI_6 00000000

Symbol: __SWI_6
   Definitions
      At line 85 in file SWI.s
   Uses
      At line 96 in file SWI.s
Comment: __SWI_6 used once
__SWI_7 00000000

Symbol: __SWI_7



ARM Macro Assembler    Page 2 Alphabetic symbol ordering
External symbols

   Definitions
      At line 86 in file SWI.s
   Uses
      At line 97 in file SWI.s
Comment: __SWI_7 used once
__SWI_8 00000000

Symbol: __SWI_8
   Definitions
      At line 87 in file SWI.s
   Uses
      At line 98 in file SWI.s
Comment: __SWI_8 used once
os_runtask 00000000

Symbol: os_runtask
   Definitions
      At line 100 in file SWI.s
   Uses
      At line 31 in file SWI.s
      At line 101 in file SWI.s

10 symbols
337 symbols in table

⌨️ 快捷键说明

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