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

📄 basetask.asm

📁 电力系统中的保护装置全部代码
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	.func	66
;******************************************************************************
;* FUNCTION NAME: _Application_Initialize                                     *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,r1,r2,r3,ar0,fp,sp,rs,re,rc                      *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 1 Parm + 1 Auto + 0 SOE = 4 words          *
;******************************************************************************
_Application_Initialize:
	.sym	_first_available_memory,-2,16,9,32
	.sym	_pointer,1,16,1,32
	.line	1
;----------------------------------------------------------------------
;  66 | VOID   Application_Initialize(VOID *first_available_memory)            
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        addi      1,sp
	.line	2
;----------------------------------------------------------------------
;  68 | VOID    *pointer;                                                      
;  70 | //    UNSIGNED i;                                                      
;----------------------------------------------------------------------
	.line	11
;----------------------------------------------------------------------
;  76 | NU_Create_Memory_Pool(&System_Memory, "SYSMEM",                        
;  77 |                     first_available_memory, 15000, 50, NU_FIFO);       
;  79 | //创建任务0:自检                                                      
;----------------------------------------------------------------------
        ldp       @CL1,DP
        ldiu      6,r0                  ; |76| 
        ldiu      50,rs                 ; |76| 
        ldiu      @CL1,r2               ; |76| 
        ldiu      15000,r3              ; |76| 
        ldp       @CL2,DP
        push      r0                    ; |76| 
        ldiu      @CL2,r1               ; |76| 
        push      rs                    ; |76| 
        ldp       @CL3,DP
        push      r3                    ; |76| 
        ldiu      @CL3,r0               ; |76| 
        ldiu      *-fp(2),r3            ; |76| 
        push      r3                    ; |76| 
        push      r2                    ; |76| 
        push      r1                    ; |76| 
        callu     r0                    ; far call to _DMCE_Create_Memory_Pool	; |76| 
                                        ; |76| Far Call Occurs
        subi      6,sp                  ; |76| 
	.line	15
;----------------------------------------------------------------------
;  80 | NU_Allocate_Memory(&System_Memory, &pointer, 1000, NU_NO_SUSPEND);     
;----------------------------------------------------------------------
        ldp       @CL2,DP
        ldiu      @CL2,r2               ; |80| 
        ldiu      0,rs                  ; |80| 
        ldp       @CL4,DP
        ldiu      1000,r3               ; |80| 
        push      rs                    ; |80| 
        ldiu      fp,r0                 ; |80| 
        ldiu      @CL4,r1               ; |80| 
        push      r3                    ; |80| 
        addi      1,r0                  ; |80| 
        push      r0                    ; |80| 
        push      r2                    ; |80| 
        callu     r1                    ; far call to _DMCE_Allocate_Memory	; |80| 
                                        ; |80| Far Call Occurs
        subi      4,sp                  ; |80| 
	.line	16
;----------------------------------------------------------------------
;  81 | NU_Create_Task(&Task_0_CB, "TASK 0", task_0, 0, NU_NULL, pointer, 1000,
;  82 |                                     5,1, NU_PREEMPT, NU_START);        
;  84 | //创建任务1:保护                                                      
;----------------------------------------------------------------------
        ldiu      10,r3                 ; |81| 
        ldiu      1000,r0               ; |81| 
        ldiu      12,rs                 ; |81| 
        ldiu      5,r1                  ; |81| 
        push      rs                    ; |81| 
        ldiu      1,r2                  ; |81| 
        push      r3                    ; |81| 
        ldp       @CL5,DP
        push      r2                    ; |81| 
        ldiu      @CL5,r2               ; |81| 
        ldp       @CL6,DP
        push      r1                    ; |81| 
        ldiu      @CL6,r1               ; |81| 
        push      r0                    ; |81| 
        ldiu      *+fp(1),re            ; |81| 
        ldiu      0,rs                  ; |81| 
        push      re                    ; |81| 
        push      rs                    ; |81| 
        ldiu      0,r3                  ; |81| 
        ldp       @CL7,DP
        push      r3                    ; |81| 
        ldiu      @CL7,r0               ; |81| 
        push      r2                    ; |81| 
        ldp       @CL8,DP
        push      r1                    ; |81| 
        ldiu      @CL8,rc               ; |81| 
        push      r0                    ; |81| 
        callu     rc                    ; far call to _TCCE_Create_Task	; |81| 
                                        ; |81| Far Call Occurs
        subi      11,sp                 ; |81| 
	.line	20
;----------------------------------------------------------------------
;  85 | NU_Allocate_Memory(&System_Memory, &pointer, 1000, NU_NO_SUSPEND);     
;----------------------------------------------------------------------
        ldp       @CL2,DP
        ldiu      @CL2,r1               ; |85| 
        ldp       @CL4,DP
        ldiu      fp,r0                 ; |85| 
        ldiu      0,r2                  ; |85| 
        ldiu      1000,r3               ; |85| 
        push      r2                    ; |85| 
        addi      1,r0                  ; |85| 
        push      r3                    ; |85| 
        push      r0                    ; |85| 
        push      r1                    ; |85| 
        ldiu      @CL4,rs               ; |85| 
        callu     rs                    ; far call to _DMCE_Allocate_Memory	; |85| 
                                        ; |85| Far Call Occurs
        subi      4,sp                  ; |85| 
	.line	21
;----------------------------------------------------------------------
;  86 | NU_Create_Task(&Task_1_CB, "TASK 1", task_1, 0, NU_NULL, pointer, 1000,
;  87 |                                     1,0, NU_PREEMPT, NU_START);        
;  89 | //创建任务2:键盘                                                      
;----------------------------------------------------------------------
        ldiu      12,r2                 ; |86| 
        ldiu      1,rs                  ; |86| 
        ldp       @CL9,DP
        push      r2                    ; |86| 
        ldiu      @CL9,r2               ; |86| 
        ldp       @CL10,DP
        ldiu      10,r3                 ; |86| 
        ldiu      0,r1                  ; |86| 
        push      r3                    ; |86| 
        push      r1                    ; |86| 
        push      rs                    ; |86| 
        ldiu      1000,r0               ; |86| 
        push      r0                    ; |86| 
        ldiu      @CL10,r0              ; |86| 
        ldp       @CL11,DP
        ldiu      0,rs                  ; |86| 
        ldiu      *+fp(1),re            ; |86| 
        push      re                    ; |86| 
        ldiu      0,r3                  ; |86| 
        push      rs                    ; |86| 
        push      r3                    ; |86| 
        push      r2                    ; |86| 
        ldiu      @CL11,rc              ; |86| 
        ldp       @CL8,DP
        push      r0                    ; |86| 
        ldiu      @CL8,r1               ; |86| 
        push      rc                    ; |86| 
        callu     r1                    ; far call to _TCCE_Create_Task	; |86| 
                                        ; |86| Far Call Occurs
        subi      11,sp                 ; |86| 
	.line	25
;----------------------------------------------------------------------
;  90 | NU_Allocate_Memory(&System_Memory, &pointer, 2000, NU_NO_SUSPEND);     
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |90| 
        ldp       @CL2,DP
        push      r0                    ; |90| 
        ldiu      @CL2,r2               ; |90| 
        ldp       @CL4,DP
        ldiu      fp,r0                 ; |90| 
        ldiu      2000,r3               ; |90| 
        addi      1,r0                  ; |90| 
        push      r3                    ; |90| 
        push      r0                    ; |90| 
        ldiu      @CL4,r1               ; |90| 
        push      r2                    ; |90| 
        callu     r1                    ; far call to _DMCE_Allocate_Memory	; |90| 
                                        ; |90| Far Call Occurs
        subi      4,sp                  ; |90| 
	.line	26
;----------------------------------------------------------------------
;  91 | NU_Create_Task(&Task_2_CB, "TASK 2", task_2, 0, NU_NULL, pointer, 2000,
;  92 |                                     5,1, NU_PREEMPT, NU_START);        
;  94 | //创建任务3:显示                                                      
;----------------------------------------------------------------------
        ldp       @CL12,DP
        ldiu      10,r3                 ; |91| 
        ldiu      @CL12,rc              ; |91| 
        ldiu      1,r2                  ; |91| 
        ldp       @CL13,DP
        ldiu      12,rs                 ; |91| 
        push      rs                    ; |91| 
        push      r3                    ; |91| 
        push      r2                    ; |91| 
        ldiu      5,r0                  ; |91| 
        push      r0                    ; |91| 
        ldiu      2000,r1               ; |91| 
        push      r1                    ; |91| 
        ldiu      @CL13,r1              ; |91| 
        ldp       @CL14,DP
        ldiu      @CL14,r0              ; |91| 
        ldp       @CL8,DP
        ldiu      *+fp(1),re            ; |91| 
        ldiu      0,r3                  ; |91| 
        push      re                    ; |91| 
        ldiu      0,rs                  ; |91| 
        push      rs                    ; |91| 
        push      r3                    ; |91| 
        push      rc                    ; |91| 
        push      r1                    ; |91| 
        ldiu      @CL8,r2               ; |91| 
        push      r0                    ; |91| 
        callu     r2                    ; far call to _TCCE_Create_Task	; |91| 
                                        ; |91| Far Call Occurs
        subi      11,sp                 ; |91| 
	.line	30
;----------------------------------------------------------------------
;  95 | NU_Allocate_Memory(&System_Memory, &pointer, 4000, NU_NO_SUSPEND);     
;----------------------------------------------------------------------
        ldiu      0,r1                  ; |95| 
        ldp       @CL2,DP
        ldiu      4000,r0               ; |95| 
        push      r1                    ; |95| 
        ldiu      @CL2,r3               ; |95| 
        push      r0                    ; |95| 
        ldp       @CL4,DP
        ldiu      fp,r0                 ; |95| 
        ldiu      @CL4,r2               ; |95| 
        addi      1,r0                  ; |95| 
        push      r0                    ; |95| 
        push      r3                    ; |95| 
        callu     r2                    ; far call to _DMCE_Allocate_Memory	; |95| 
                                        ; |95| Far Call Occurs
        subi      4,sp                  ; |95| 
	.line	31
;----------------------------------------------------------------------
;  96 | NU_Create_Task(&Task_3_CB, "TASK 3", task_3, 0, NU_NULL, pointer, 4000,
;  97 |                                     5,1, NU_PREEMPT, NU_START);        
;  99 | //创建任务4:通信                                                      
;----------------------------------------------------------------------
        ldp       @CL15,DP
        ldiu      12,rs                 ; |96| 
        push      rs                    ; |96| 
        ldiu      10,r3                 ; |96| 
        push      r3                    ; |96| 
        ldiu      1,r2                  ; |96| 
        push      r2                    ; |96| 
        ldiu      @CL15,r2              ; |96| 
        ldiu      5,r1                  ; |96| 
        ldp       @CL16,DP
        ldiu      4000,r0               ; |96| 
        push      r1                    ; |96| 
        push      r0                    ; |96| 
        ldiu      *+fp(1),re            ; |96| 
        push      re                    ; |96| 
        ldiu      0,rs                  ; |96| 
        ldiu      0,r3                  ; |96| 
        ldiu      @CL16,r1              ; |96| 
        push      rs                    ; |96| 
        ldp       @CL17,DP
        push      r3                    ; |96| 
        ldiu      @CL17,rc              ; |96| 
        push      r2                    ; |96| 
        ldp       @CL8,DP
        push      r1                    ; |96| 
        ldiu      @CL8,r0               ; |96| 
        push      rc                    ; |96| 
        callu     r0                    ; far call to _TCCE_Create_Task	; |96| 
                                        ; |96| Far Call Occurs
        subi      11,sp                 ; |96| 
	.line	35
;----------------------------------------------------------------------
; 100 | NU_Allocate_Memory(&System_Memory, &pointer, 1000, NU_NO_SUSPEND);     
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |100| 
        push      r0                    ; |100| 
        ldp       @CL2,DP

⌨️ 快捷键说明

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