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

📄 os_intsw.lst

📁 ucos 在F2812上的移置,内含三个任务,可以在F2812上跑起来,通过测试,在片外SRAM中运行,完整的工程
💻 LST
字号:
TMS320C2000 COFF Assembler PC v4.1.3 Wed May 20 14:32:03 2009

Tools Copyright (c) 1996-2006 Texas Instruments Incorporated
OS_IntSw.asm                                                         PAGE    1

       1              .page
       2              .text
       3              
       4              _OSIntCtxSw:
       5                      .ref _OSTCBHighRdy
       6                      .ref _OSTCBCur
       7                      .ref _OSPrioHighRdy
       8                      .ref _OSPrioCur
       9                      .global _OSIntCtxSw
      10                      
      11                      
      12                       ;模拟返回中断
      13                       ;保存当前环境
      14                       
      15                                                                      ;将SP存入到当前栈中
      16 00000000 FE84           SUBB    SP,#4
      17 00000001 761F!      MOVW     DP,#_OSTCBCur      ; OSTCBCur->OSTCBStkPtr = SP
         00000002 0000 
      18 00000003 8A00!      MOVL     XAR4,@_OSTCBCur   ; |274| 
      19 00000004 92AD       MOV      AL,SP     
      20 00000005 96C4       MOV      *+XAR4[0],AL     ; |274|           
      21                   
      22                   
      23                                                                      ;将最高级准备好任务放到OSTCBCur         
      24              ;=================================================================================      
      25 00000006 761F!          MOVW DP,#_OSTCBHighRdy         ; OSTCBCur = OSTCBHighRdy
         00000007 0000 
      26 00000008 0600!      MOVL ACC,@_OSTCBHighRdy    
      27 00000009 761F!      MOVW DP,#_OSTCBCur
         0000000a 0000 
      28 0000000b 1E00!      MOVL @_OSTCBCur,ACC        
      29                      
      30                      
      31 0000000c 761F!      MOVW DP,#_OSPrioHighRdy            ;OSPrioCur = OSPrioHighRdy
         0000000d 0000 
      32 0000000e 9200!      MOV  AL,@_OSPrioHighRdy    
      33 0000000f 761F!      MOVW DP,#_OSPrioCur
         00000010 0000 
      34 00000011 9600!      MOV  @_OSPrioCur,AL        
      35              ;=================================================================================           
      36                                                                      ;取出最高级准备好的SP
      37                      
      38 00000012 761F!          MOVW    DP,#_OSTCBHighRdy       ;SP = OSTCBhighRdy->OSTCBStkPtr        
         00000013 0000 
      39 00000014 8A00!      MOVL    XAR4,@_OSTCBHighRdy   
      40 00000015 92C4       MOV     AL,*+XAR4[0]                    
      41 00000016 96AD       MOV     @SP,AL
      42                   
      43                   
      44              
      45 00000017 0007       POP   RPC                  ;跳到新任务中运行
      46 00000018 7602       IRET
      47                      .end

No Assembly Errors, No Assembly Warnings

⌨️ 快捷键说明

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