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

📄 swi_vec.lst

📁 掏美元培训得来的某外国公司推广keil ARM 和LPC2100的源码。
💻 LST
字号:
AA MACRO ASSEMBLER  SWI_VEC                                                                 19/02/05 10:29:38 PAGE     1


MACRO ASSEMBLER AA V2.00
OBJECT MODULE PLACED IN SWI_VEC.OBJ
ASSEMBLER INVOKED BY: C:\Keil\ARM\BIN\AA.exe SWI_VEC.S DEBUG EP

LOC      OBJ             LINE     SOURCE

                          1     
                          2     
                          3     
                          4     
                          5     
                          6     
                          7     
                          8     
                          9     
00000000                 10     AREA ?C?SWI, CODE, READONLY, ALIGN=2
                         11     
                         12     PUBLIC SWI_Handler?A, ?SWI?Table, ?SWI?Empty
                         13     
                         14     SWI_Handler?A    PROC CODE32
00000000 E92D4000        15             STMFD   SP!,{LR}           ; Store LR register
00000004 E14F8000        16             MRS     R8,SPSR
00000008 E3180020        17             TST     R8,#0x20           ; SWI call from 
0000000C 115E80B2        18             LDRNEH  R8,[LR,#-2]        ; Thumb: Load halfword instruction
00000010 120880FF        19             ANDNE   R8,R8,#0xFF        ;        extract SWI number
00000014 051E8004        20             LDREQ   R8,[LR,#-4]        ; ARM:   Load word     instruction
00000018 03C884FF        21             BICEQ   R8,R8,#0xFF000000  ;        extract SWI number
                         22                                        ; R4 now contains SWI number
                         23     ; SWI Handler
                         24     ;       LDR     R12,[PC,#(?SWI?Table-$-8)] ; Maximum number of interrupts
                         25     ;       LDR     R12,[PC,#0x24]     ; Maximum number of interrupts
0000001C E28FC020        26             ADR     R12,?SWI?Table
00000020 E59CC000        27             LDR     R12,[R12]          ; load last SWI-Function-number
                         28     
00000024 E158000C        29             CMP     R8,R12                                             
00000028 CA000004        30             BGT     ?SWI?Empty         ; overflow
0000002C E28FC014        31             ADR     R12,?SWI?Table+4
00000030 E79CC108        32             LDR     R12,[R12,R8,LSL #2]; SWI function address
00000034 E1A0E00F        33             MOV     LR,PC              ; Return address
00000038 E12FFF1C        34             BX      R12                ; Call SWI function
                         35     
0000003C E8FD8000        36             LDMFD   SP!,{PC}^          ; Return
                         37     
00000040                 38     ?SWI?Empty:
00000040 EAFFFFFE        39             B       $                  ; no existing SWI
                         40     
                         41     ; *** DO NOT MODIFY THIS PORTION OF THE FILE ***
00000044                 42     ?SWI?Table:                        ; Marker for LA Linker                       
                         43     ; 
                         44     ; The LA Linker inserts at this label
                         45     ;       DD      0                  ; <last SWI function number>
                         46     ;       DD      ?SWI?Empty         ; <entry for SWI function 0>
                         47     ;       DD      <SWI entry 1>
                         48     ;       DD      <SWI entry 2>
                         49     ;       DD           :
                         50     ; For non-existing SWI functions DD ?SWI?Empty is inserted
                         51     
                         52             ENDP
                         53     
                         54             END
AA MACRO ASSEMBLER  SWI_VEC                                                                 19/02/05 10:29:38 PAGE     2

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E     ATTRIBUTES

?C?SWI . . . . . .  C  SEG   0044H         REL=UNIT, ALN=BYTE
?SWI?Empty . . . .  C  ADDR  0040H     R   SEG=?C?SWI
?SWI?Table . . . .  C  ADDR  0044H     R   SEG=?C?SWI
SWI_Handler?A. . .  C  ADDR  0000H     R   SEG=?C?SWI

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S).

⌨️ 快捷键说明

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