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

📄 isrtramp.lst

📁 SEED_TMS320vc5402dsk是在TI的TMS320VC5402DSK板基础上简化开发出来的
💻 LST
📖 第 1 页 / 共 4 页
字号:
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_BKBLKRPT)
2        000042 8A1C          popm    rea
2        000043 8A1B          popm    rsa
2        000044 8A1A          popm    brc
2        000045 8A19          popm    bk
2                             .endif
TMS320C54x COFF Assembler         Version 3.50     Sun Apr 02 13:46:35 2000
Copyright (c) 1996-1999 Texas Instruments Incorporated
isrtramp.asm                                                         PAGE    5

2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_AR7)
2                             popm    ar7
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_AR6)
2                             popm    ar6
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_AR5)
2        000046 8A15          popm    ar5
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_AR4)
2        000047 8A14          popm    ar4
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_AR3)
2        000048 8A13          popm    ar3
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_AR2)
2        000049 8A12          popm    ar2
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_AR1)
2                             popm    ar1
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_AR0)
2        00004a 8A10          popm    ar0
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_TTRN)
2        00004b 8A0F          popm    trn
2        00004c 8A0E          popm    t
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_B)
2                             popm    bg
2                             popm    bh
2                             popm    bl
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_A)
2                             popm    ag
2                             popm    ah
2                             popm    al
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_ST1)
2                             popm    st1
2                             .endif
2                             .if (C54_CNOTPRESERVED & ~(C54_ST01AB) & C54_ST0)
2                             popm    st0
2                             .endif
1                     
1        00004d FD00          xc      1, unc
1        00004e F7BB           ssbx   intm            ; globally disable interrupts
1                     
1                             ;
1                             ; we used to do this as the first thing in HWI_exit, which is OK,
1                             ; but confusing to users that think there is a hole for stack blowup.
1                             ;
1        00004f F120          ld      #0ffffh, b
         000050 FFFF 
1        000051 F280          and     b, a
TMS320C54x COFF Assembler         Version 3.50     Sun Apr 02 13:46:35 2000
Copyright (c) 1996-1999 Texas Instruments Incorporated
isrtramp.asm                                                         PAGE    6

1        000052 4900          ldm     imr, b
1        000053 F1A0          or      a, b
1        000054 8900          stlm    b, imr          ; restore imr bits based on the old imr value
1                                                     ; and the IMRRESTOREMASK mask
1        000055 F495          nop                     ; for pipline latency
1        000056 F495          nop
1        000057 F495          nop
1                     
1        000058 6B00!         addm    #-1, SWI_D_lock ; SWI_D_lock--
         000059 FFFF 
1        00005a 6100!         bitf    SWI_D_lock, #8000h
         00005b 8000 
1        00005c F820          bc      end?, NTC       ; if (SWI_D_lock >= 0) goto end?
         00005d 0073'
1        00005e 1200!         ldu     SWI_D_curmask, a
1        00005f 0A00!         subs    SWI_D_curset, a ;   
1        000060 F846          bc      end?, agt       ; if (SWI_D_curmask > SWI_D_curset) goto end?
         000061 0073'
1                                                     ; else need to go to SWI scheduler
1                                                     ; {
1        000062 7600!         st      #0, SWI_D_lock  ;   SWI_D_lock = 0 (SWI locked)
         000063 0000 
1                     
1        000064 1000!         ld      SWI_D_execaddr, a  ; get exec fxn address
1        000065 F7BE          ssbx    cpl                ; set cpl for upcoming stack access
1        000066 F495          nop 
1        000067 F495          nop
1        000068 F495          nop
1        000069 8008          stl     a, HWI_O_EXECFXN   ; write exec fxn address to hole in stack
1                             
1        00006a               C54_restore C54_ST01AB
2                             .if (C54_ST01AB & C54_PMST)
2                             popm    pmst
2                             .endif
2                             .if (C54_ST01AB & C54_BKBLKRPT)
2                             popm    rea
2                             popm    rsa
2                             popm    brc
2                             popm    bk
2                             .endif
2                             .if (C54_ST01AB & C54_AR7)
2                             popm    ar7
2                             .endif
2                             .if (C54_ST01AB & C54_AR6)
2                             popm    ar6
2                             .endif
2                             .if (C54_ST01AB & C54_AR5)
2                             popm    ar5
2                             .endif
2                             .if (C54_ST01AB & C54_AR4)
2                             popm    ar4
2                             .endif
2                             .if (C54_ST01AB & C54_AR3)
2                             popm    ar3
2                             .endif
TMS320C54x COFF Assembler         Version 3.50     Sun Apr 02 13:46:35 2000
Copyright (c) 1996-1999 Texas Instruments Incorporated
isrtramp.asm                                                         PAGE    7

2                             .if (C54_ST01AB & C54_AR2)
2                             popm    ar2
2                             .endif
2                             .if (C54_ST01AB & C54_AR1)
2                             popm    ar1
2                             .endif
2                             .if (C54_ST01AB & C54_AR0)
2                             popm    ar0
2                             .endif
2                             .if (C54_ST01AB & C54_TTRN)
2                             popm    trn
2                             popm    t
2                             .endif
2                             .if (C54_ST01AB & C54_B)
2        00006a 8A0D          popm    bg
2        00006b 8A0C          popm    bh
2        00006c 8A0B          popm    bl
2                             .endif
2                             .if (C54_ST01AB & C54_A)
2        00006d 8A0A          popm    ag
2        00006e 8A09          popm    ah
2        00006f 8A08          popm    al
2                             .endif
2                             .if (C54_ST01AB & C54_ST1)
2        000070 8A07          popm    st1
2                             .endif
2                             .if (C54_ST01AB & C54_ST0)
2        000071 8A06          popm    st0
2                             .endif
1        000072 FC00          ret                     ;   go to the function (e.g. SWI_F_exec)
1                                                     ;   whose address is in SWI_D_execaddr.
1                                                     ;   that function will do the actual return
1                                                     ;   to where interrupt occurred. 
1                                                     ; } 
1        000073       end?:
1        000073               C54_restore C54_ST01AB
2                             .if (C54_ST01AB & C54_PMST)
2                             popm    pmst
2                             .endif
2                             .if (C54_ST01AB & C54_BKBLKRPT)
2                             popm    rea
2                             popm    rsa
2                             popm    brc
2                             popm    bk
2                             .endif
2                             .if (C54_ST01AB & C54_AR7)
2                             popm    ar7
2                             .endif
2                             .if (C54_ST01AB & C54_AR6)
2                             popm    ar6
2                             .endif
2                             .if (C54_ST01AB & C54_AR5)
2                             popm    ar5
2                             .endif
2                             .if (C54_ST01AB & C54_AR4)
TMS320C54x COFF Assembler         Version 3.50     Sun Apr 02 13:46:35 2000
Copyright (c) 1996-1999 Texas Instruments Incorporated
isrtramp.asm                                                         PAGE    8

2                             popm    ar4
2                             .endif
2                             .if (C54_ST01AB & C54_AR3)
2                             popm    ar3
2                             .endif
2                             .if (C54_ST01AB & C54_AR2)
2                             popm    ar2
2                             .endif
2                             .if (C54_ST01AB & C54_AR1)
2                             popm    ar1
2                             .endif
2                             .if (C54_ST01AB & C54_AR0)
2                             popm    ar0
2                             .endif
2                             .if (C54_ST01AB & C54_TTRN)
2                             popm    trn
2                             popm    t
2                             .endif
2                             .if (C54_ST01AB & C54_B)
2        000073 8A0D          popm    bg
2        000074 8A0C          popm    bh
2        000075 8A0B          popm    bl
2                             .endif
2                             .if (C54_ST01AB & C54_A)
2        000076 8A0A          popm    ag
2        000077 8A09          popm    ah
2        000078 8A08          popm    al
2                             .endif
2                             .if (C54_ST01AB & C54_ST1)
2        000079 8A07          popm    st1
2                             .endif
2                             .if (C54_ST01AB & C54_ST0)
2        00007a 8A06          popm    st0
2                             .endif
1                     
1        00007b EE01          frame 1                 ; adjust SP because SWI_F_exec hole not needed
1                             
1                             .if (__far_mode)
1                                 frete               ; enable interrupts (intm = 0) and far return
1                             .else
1        00007c F4EB              rete                ; enable interrupts (intm = 0) and return

⌨️ 快捷键说明

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