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

📄 2410slib.lst

📁 ARM开发的一些源码ARM 搜染色 v却轻轻轻
💻 LST
📖 第 1 页 / 共 3 页
字号:



ARM Macro Assembler    Page 1 


    1 00000000         ;=======================================================
                       ==============
    2 00000000         ; File Name : 2410slib.s
    3 00000000         ; Function  : S3C2410  (Assembly)
    4 00000000         ; Program   : Shin, On Pil (SOP)
    5 00000000         ; Date      : March 09, 2002
    6 00000000         ; Version   : 0.0
    7 00000000         ; History
    8 00000000         ;   0.0 : Programming start (February 26,2002) -> SOP
    9 00000000         ;=======================================================
                       ==============
   10 00000000         
   11 00000000         ;Interrupt, FIQ/IRQ disable
   12 00000000 000000C0 
                       NOINT   EQU              0xc0        ; 1100 0000  
   13 00000000         
   14 00000000         ;Check if tasm.exe(armasm -16 ...@ADS 1.0) is used.
   15 00000000                 GBLL             THUMBCODE
   16 00000000                 [                {CONFIG} = 16
   20 00000000 FALSE    
                       THUMBCODE
                               SETL             {FALSE}
   21 00000000                 ]
   22 00000000         
   23 00000000                 MACRO
   24 00000000                 MOV_PC_LR
   25 00000000                 [                THUMBCODE
   26 00000000                 bx               lr
   27 00000000                 |
   28 00000000                 mov              pc,lr
   29 00000000                 ]
   30 00000000                 MEND
   31 00000000         
   32 00000000                 AREA             |C$$code|, CODE, READONLY
   33 00000000         ;save cpsr and disable int, r0 = address to save cpsr
   34 00000000                 EXPORT           EnterCritical
   35 00000000         EnterCritical
   36 00000000 E10F1000        mrs              r1, cpsr
   37 00000004 E5801000        str              r1, [r0]
   38 00000008 E38110C0        orr              r1, r1, #NOINT
   39 0000000C E12FF001        msr              cpsr_cxsf, r1
   40 00000010 E1A0F00E        MOV              PC,LR
   41 00000014         ;restore cpsr, r0 = address to restore cpsr 
   42 00000014                 EXPORT           ExitCritical
   43 00000014         ExitCritical
   44 00000014 E5901000        ldr              r1, [r0]
   45 00000018 E12FF001        msr              cpsr_cxsf, r1
   46 0000001C                 MOV_PC_LR
   25 0000001C                 [                THUMBCODE
   28 0000001C E1A0F00E        mov              pc,lr
   29 00000020                 ]
   47 00000020         ;==============
   48 00000020         ; CPSR I,F bit
   49 00000020         ;==============
   50 00000020         ;int SET_IF(void);
   51 00000020         ;The return value is current CPSR.
   52 00000020                 EXPORT           SET_IF
   53 00000020         SET_IF
   54 00000020         ;This function works only if the processor is in previli



ARM Macro Assembler    Page 2 


                       ged mode.
   55 00000020 E10F0000        mrs              r0,cpsr
   56 00000024 E1A01000        mov              r1,r0
   57 00000028 E38110C0        orr              r1,r1,#NOINT
   58 0000002C E12FF001        msr              cpsr_cxsf,r1
   59 00000030                 MOV_PC_LR
   25 00000030                 [                THUMBCODE
   28 00000030 E1A0F00E        mov              pc,lr
   29 00000034                 ]
   60 00000034         
   61 00000034         ;void WR_IF(int cpsrValue);
   62 00000034                 EXPORT           WR_IF
   63 00000034         WR_IF
   64 00000034         ;This function works only if the processor is in previli
                       ged mode.
   65 00000034 E12FF000        msr              cpsr_cxsf,r0
   66 00000038                 MOV_PC_LR
   25 00000038                 [                THUMBCODE
   28 00000038 E1A0F00E        mov              pc,lr
   29 0000003C                 ]
   67 0000003C         
   68 0000003C         
   69 0000003C         ;void CLR_IF(void);
   70 0000003C                 EXPORT           CLR_IF
   71 0000003C         CLR_IF
   72 0000003C         ;This function works only if the processor is in previli
                       ged mode.
   73 0000003C E10F0000        mrs              r0,cpsr
   74 00000040 E3C000C0        bic              r0,r0,#NOINT
   75 00000044 E12FF000        msr              cpsr_cxsf,r0
   76 00000048                 MOV_PC_LR
   25 00000048                 [                THUMBCODE
   28 00000048 E1A0F00E        mov              pc,lr
   29 0000004C                 ]
   77 0000004C         
   78 0000004C         ;====================================
   79 0000004C         ; MMU Cache/TLB/etc on/off functions
   80 0000004C         ;====================================
   81 0000004C 00001000 
                       R1_I    EQU              (1<<12)
   82 0000004C 00000004 
                       R1_C    EQU              (1<<2)
   83 0000004C 00000002 
                       R1_A    EQU              (1<<1)
   84 0000004C 00000001 
                       R1_M    EQU              (1)
   85 0000004C 80000000 
                       R1_iA   EQU              (1<<31)
   86 0000004C 40000000 
                       R1_nF   EQU              (1<<30)
   87 0000004C         
   88 0000004C         ;void MMU_EnableICache(void)
   89 0000004C                 EXPORT           MMU_EnableICache
   90 0000004C         MMU_EnableICache
   91 0000004C EE110F10        mrc              p15,0,r0,c1,c0,0
   92 00000050 E3800A01        orr              r0,r0,#R1_I
   93 00000054 EE010F10        mcr              p15,0,r0,c1,c0,0
   94 00000058                 MOV_PC_LR
   25 00000058                 [                THUMBCODE



ARM Macro Assembler    Page 3 


   28 00000058 E1A0F00E        mov              pc,lr
   29 0000005C                 ]
   95 0000005C         
   96 0000005C         ;void MMU_DisableICache(void)
   97 0000005C                 EXPORT           MMU_DisableICache
   98 0000005C         MMU_DisableICache
   99 0000005C EE110F10        mrc              p15,0,r0,c1,c0,0
  100 00000060 E3C00A01        bic              r0,r0,#R1_I
  101 00000064 EE010F10        mcr              p15,0,r0,c1,c0,0
  102 00000068                 MOV_PC_LR
   25 00000068                 [                THUMBCODE
   28 00000068 E1A0F00E        mov              pc,lr
   29 0000006C                 ]
  103 0000006C         
  104 0000006C         ;void MMU_EnableDCache(void)
  105 0000006C                 EXPORT           MMU_EnableDCache
  106 0000006C         MMU_EnableDCache
  107 0000006C EE110F10        mrc              p15,0,r0,c1,c0,0
  108 00000070 E3800004        orr              r0,r0,#R1_C
  109 00000074 EE010F10        mcr              p15,0,r0,c1,c0,0
  110 00000078                 MOV_PC_LR
   25 00000078                 [                THUMBCODE
   28 00000078 E1A0F00E        mov              pc,lr
   29 0000007C                 ]
  111 0000007C         
  112 0000007C         ;void MMU_DisableDCache(void)
  113 0000007C                 EXPORT           MMU_DisableDCache
  114 0000007C         MMU_DisableDCache
  115 0000007C EE110F10        mrc              p15,0,r0,c1,c0,0
  116 00000080 E3C00004        bic              r0,r0,#R1_C
  117 00000084 EE010F10        mcr              p15,0,r0,c1,c0,0
  118 00000088                 MOV_PC_LR
   25 00000088                 [                THUMBCODE
   28 00000088 E1A0F00E        mov              pc,lr
   29 0000008C                 ]
  119 0000008C         
  120 0000008C         ;void MMU_EnableAlignFault(void)
  121 0000008C                 EXPORT           MMU_EnableAlignFault
  122 0000008C         MMU_EnableAlignFault
  123 0000008C EE110F10        mrc              p15,0,r0,c1,c0,0
  124 00000090 E3800002        orr              r0,r0,#R1_A
  125 00000094 EE010F10        mcr              p15,0,r0,c1,c0,0
  126 00000098                 MOV_PC_LR
   25 00000098                 [                THUMBCODE
   28 00000098 E1A0F00E        mov              pc,lr
   29 0000009C                 ]
  127 0000009C         
  128 0000009C         ;void MMU_DisableAlignFault(void)
  129 0000009C                 EXPORT           MMU_DisableAlignFault
  130 0000009C         MMU_DisableAlignFault
  131 0000009C EE110F10        mrc              p15,0,r0,c1,c0,0
  132 000000A0 E3C00002        bic              r0,r0,#R1_A
  133 000000A4 EE010F10        mcr              p15,0,r0,c1,c0,0
  134 000000A8                 MOV_PC_LR
   25 000000A8                 [                THUMBCODE
   28 000000A8 E1A0F00E        mov              pc,lr
   29 000000AC                 ]
  135 000000AC         
  136 000000AC         ;void MMU_EnableMMU(void)



ARM Macro Assembler    Page 4 


  137 000000AC                 EXPORT           MMU_EnableMMU
  138 000000AC         MMU_EnableMMU
  139 000000AC EE110F10        mrc              p15,0,r0,c1,c0,0
  140 000000B0 E3800001        orr              r0,r0,#R1_M
  141 000000B4 EE010F10        mcr              p15,0,r0,c1,c0,0
  142 000000B8                 MOV_PC_LR
   25 000000B8                 [                THUMBCODE
   28 000000B8 E1A0F00E        mov              pc,lr
   29 000000BC                 ]
  143 000000BC         
  144 000000BC         ;void MMU_DisableMMU(void)
  145 000000BC                 EXPORT           MMU_DisableMMU
  146 000000BC         MMU_DisableMMU
  147 000000BC EE110F10        mrc              p15,0,r0,c1,c0,0
  148 000000C0 E3C00001        bic              r0,r0,#R1_M
  149 000000C4 EE010F10        mcr              p15,0,r0,c1,c0,0
  150 000000C8                 MOV_PC_LR
   25 000000C8                 [                THUMBCODE
   28 000000C8 E1A0F00E        mov              pc,lr
   29 000000CC                 ]
  151 000000CC         
  152 000000CC         ;void MMU_SetFastBusMode(void)
  153 000000CC         ; FCLK:HCLK= 1:1
  154 000000CC                 EXPORT           MMU_SetFastBusMode
  155 000000CC         MMU_SetFastBusMode
  156 000000CC EE110F10        mrc              p15,0,r0,c1,c0,0
  157 000000D0 E3C00103        bic              r0,r0,#R1_iA:OR:R1_nF
  158 000000D4 EE010F10        mcr              p15,0,r0,c1,c0,0
  159 000000D8                 MOV_PC_LR
   25 000000D8                 [                THUMBCODE
   28 000000D8 E1A0F00E        mov              pc,lr
   29 000000DC                 ]
  160 000000DC         
  161 000000DC         ;void MMU_SetAsyncBusMode(void) 
  162 000000DC         ; FCLK:HCLK= 1:2
  163 000000DC                 EXPORT           MMU_SetAsyncBusMode
  164 000000DC         MMU_SetAsyncBusMode
  165 000000DC EE110F10        mrc              p15,0,r0,c1,c0,0
  166 000000E0 E3800103        orr              r0,r0,#R1_nF:OR:R1_iA
  167 000000E4 EE010F10        mcr              p15,0,r0,c1,c0,0
  168 000000E8                 MOV_PC_LR
   25 000000E8                 [                THUMBCODE
   28 000000E8 E1A0F00E        mov              pc,lr
   29 000000EC                 ]
  169 000000EC         
  170 000000EC         ;=========================
  171 000000EC         ; Set TTBase
  172 000000EC         ;=========================
  173 000000EC         ;void MMU_SetTTBase(int base)
  174 000000EC                 EXPORT           MMU_SetTTBase
  175 000000EC         MMU_SetTTBase
  176 000000EC         ;ro=TTBase
  177 000000EC EE020F10        mcr              p15,0,r0,c2,c0,0
  178 000000F0                 MOV_PC_LR
   25 000000F0                 [                THUMBCODE
   28 000000F0 E1A0F00E        mov              pc,lr
   29 000000F4                 ]
  179 000000F4         
  180 000000F4         ;=========================



ARM Macro Assembler    Page 5 


  181 000000F4         ; Set Domain
  182 000000F4         ;=========================
  183 000000F4         ;void MMU_SetDomain(int domain)
  184 000000F4                 EXPORT           MMU_SetDomain
  185 000000F4         MMU_SetDomain
  186 000000F4         ;ro=domain
  187 000000F4 EE030F10        mcr              p15,0,r0,c3,c0,0
  188 000000F8 E1A0F00E        MOV              PC,LR
  189 000000FC         
  190 000000FC         ;=========================
  191 000000FC         ; ICache/DCache functions
  192 000000FC         ;=========================
  193 000000FC         ;void MMU_InvalidateIDCache(void)
  194 000000FC                 EXPORT           MMU_InvalidateIDCache
  195 000000FC         MMU_InvalidateIDCache
  196 000000FC EE070F17        mcr              p15,0,r0,c7,c7,0
  197 00000100                 MOV_PC_LR
   25 00000100                 [                THUMBCODE
   28 00000100 E1A0F00E        mov              pc,lr
   29 00000104                 ]
  198 00000104         
  199 00000104         ;void MMU_InvalidateICache(void)
  200 00000104                 EXPORT           MMU_InvalidateICache
  201 00000104         MMU_InvalidateICache
  202 00000104 EE070F15        mcr              p15,0,r0,c7,c5,0
  203 00000108                 MOV_PC_LR
   25 00000108                 [                THUMBCODE
   28 00000108 E1A0F00E        mov              pc,lr
   29 0000010C                 ]
  204 0000010C         
  205 0000010C         ;void MMU_InvalidateICacheMVA(U32 mva)
  206 0000010C                 EXPORT           MMU_InvalidateICacheMVA
  207 0000010C         MMU_InvalidateICacheMVA
  208 0000010C         ;r0=mva
  209 0000010C EE070F35        mcr              p15,0,r0,c7,c5,1
  210 00000110                 MOV_PC_LR
   25 00000110                 [                THUMBCODE
   28 00000110 E1A0F00E        mov              pc,lr
   29 00000114                 ]
  211 00000114         
  212 00000114         ;void MMU_PrefetchICacheMVA(U32 mva)
  213 00000114                 EXPORT           MMU_PrefetchICacheMVA
  214 00000114         MMU_PrefetchICacheMVA
  215 00000114         ;r0=mva
  216 00000114 EE070F3D        mcr              p15,0,r0,c7,c13,1
  217 00000118                 MOV_PC_LR
   25 00000118                 [                THUMBCODE
   28 00000118 E1A0F00E        mov              pc,lr
   29 0000011C                 ]
  218 0000011C         
  219 0000011C         ;void MMU_InvalidateDCache(void)
  220 0000011C                 EXPORT           MMU_InvalidateDCache
  221 0000011C         MMU_InvalidateDCache
  222 0000011C EE070F16        mcr              p15,0,r0,c7,c6,0
  223 00000120                 MOV_PC_LR
   25 00000120                 [                THUMBCODE
   28 00000120 E1A0F00E        mov              pc,lr
   29 00000124                 ]
  224 00000124         



ARM Macro Assembler    Page 6 


  225 00000124         ;void MMU_InvalidateDCacheMVA(U32 mva)

⌨️ 快捷键说明

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