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

📄 creatroutine.asm

📁 电力系统中的保护装置全部代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        ldiu      *+fp(1),ar0           ; |63| 
        ldiu      ar0,r0                ; |63| 
        sti       r0,*ar0               ; |63| 
	.line	25
;----------------------------------------------------------------------
;  64 | protect -> pro_link_previous    =       protect;                       
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |64| 
        ldiu      ar0,r0                ; |64| 
        sti       r0,*+ar0(1)           ; |64| 
L7:        
	.line	27
;----------------------------------------------------------------------
;  66 | PRO_Total_Protect++;                                                   
;----------------------------------------------------------------------
        ldp       @CL1,DP
        ldiu      @CL1,ar0              ; |66| 
        ldiu      1,r0                  ; |66| 
        addi3     r0,*ar0,r0            ; |66| Unsigned
        sti       r0,*ar0               ; |66| 
	.line	29
;----------------------------------------------------------------------
;  68 | (*protect_initialize)(protect);                                        
;----------------------------------------------------------------------
        ldiu      *+fp(1),r0            ; |68| 
        push      r0                    ; |68| 
        ldiu      *-fp(3),r0            ; |68| 
        callu     r0                    ; |68| 
                                        ; |68| Call Occurs
        subi      1,sp                  ; |68| 
	.line	32
;----------------------------------------------------------------------
;  71 | protect -> pro_routine_handler          =       protect_routine;
;     |                                                                        
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |71| 
        ldiu      *-fp(4),r0            ; |71| 
        sti       r0,*+ar0(80)          ; |71| 
	.line	33
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Unallocate the Frame
        subi      4,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	72,000000000h,2


	.sect	 ".text"

	.global	_CCOM_Initialize
	.sym	_CCOM_Initialize,_CCOM_Initialize,32,2,0
	.func	81
;******************************************************************************
;* FUNCTION NAME: _CCOM_Initialize                                            *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,ar0                                              *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 0 Parm + 0 Auto + 0 SOE = 2 words          *
;******************************************************************************
_CCOM_Initialize:
	.line	1
;----------------------------------------------------------------------
;  81 | VOID    CCOM_Initialize(VOID)                                          
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
	.line	4
;----------------------------------------------------------------------
;  84 | CHK_Total_Check = 0;                                                   
;----------------------------------------------------------------------
        ldp       @CL4,DP
        ldiu      @CL4,ar0              ; |84| 
        ldiu      0,r0                  ; |84| 
        sti       r0,*ar0               ; |84| 
	.line	6
;----------------------------------------------------------------------
;  86 | CHK_Created_Check_List = NU_NULL;                                      
;----------------------------------------------------------------------
        ldp       @CL5,DP
        ldiu      @CL5,ar0              ; |86| 
        sti       r0,*ar0               ; |86| 
	.line	8
;----------------------------------------------------------------------
;  88 | CHK_Execute_Check = NU_NULL;                                           
;----------------------------------------------------------------------
        ldp       @CL6,DP
        ldiu      @CL6,ar0              ; |88| 
        sti       r0,*ar0               ; |88| 
	.line	9
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Unallocate the Frame
        subi      2,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	89,000000000h,0


	.sect	 ".text"

	.global	_CCOM_Create_Check
	.sym	_CCOM_Create_Check,_CCOM_Create_Check,32,2,0
	.func	99
;******************************************************************************
;* FUNCTION NAME: _CCOM_Create_Check                                          *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,ar0,ar1,fp,sp,st,pc                              *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 3 Parm + 2 Auto + 0 SOE = 7 words          *
;******************************************************************************
_CCOM_Create_Check:
	.sym	_Check_ptr,-2,16,9,32
	.sym	_Check_initialize,-3,144,9,32
	.sym	_Check_routine,-4,144,9,32
	.sym	_Check,1,24,1,32,_CHECK_STRUCT
	.sym	_i,2,4,1,32
	.line	1
;----------------------------------------------------------------------
;  99 | VOID    CCOM_Create_Check(VOID *Check_ptr,VOID (*Check_initialize)(CHEC
;     | K *),                                                                  
; 100 | VOID (*Check_routine)(CHECK *))                                        
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        addi      2,sp
	.line	3
;----------------------------------------------------------------------
; 102 | CHECK   *Check;                                 /* check control block
;     | ptr    */                                                              
; 103 | INT     i;                                              /* Working inde
;     | x variable       */                                                    
;----------------------------------------------------------------------
	.line	8
;----------------------------------------------------------------------
; 106 | Check = (CHECK *)Check_ptr;                                            
;----------------------------------------------------------------------
        ldiu      *-fp(2),r0            ; |106| 
        sti       r0,*+fp(1)            ; |106| 
	.line	11
;----------------------------------------------------------------------
; 109 | if (CHK_Created_Check_List)             /* Determine if the list in non
;     | -empty.  */                                                            
;----------------------------------------------------------------------
        ldp       @CL5,DP
        ldiu      @CL5,ar0              ; |109| 
        ldiu      *ar0,r0               ; |109| 
        cmpi      0,r0                  ; |109| 
        beq       L15                   ; |109| 
;*      Branch Occurs to L15            ; |109| 
	.line	14
;----------------------------------------------------------------------
; 112 | Check -> chk_link_previous      =   CHK_Created_Check_List -> chk_link_
;     | previous;                                                              
;----------------------------------------------------------------------
        ldp       @CL5,DP
        ldiu      @CL5,ar0              ; |112| 
        ldiu      *ar0,ar0              ; |112| 
        ldiu      *+fp(1),ar1           ; |112| 
        ldiu      *+ar0(1),r0           ; |112| 
        sti       r0,*+ar1(1)           ; |112| 
	.line	15
;----------------------------------------------------------------------
; 113 | (Check -> chk_link_previous) -> chk_link_next =  Check;                
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |113| 
        ldiu      *+ar0(1),ar0          ; |113| 
        ldiu      *+fp(1),r0            ; |113| 
        sti       r0,*ar0               ; |113| 
	.line	16
;----------------------------------------------------------------------
; 114 | Check -> chk_link_next  =   CHK_Created_Check_List;                    
;----------------------------------------------------------------------
        ldiu      @CL5,ar0              ; |114| 
        ldiu      *+fp(1),ar1           ; |114| 
        ldiu      *ar0,r0               ; |114| 
        sti       r0,*ar1               ; |114| 
	.line	17
;----------------------------------------------------------------------
; 115 | (Check -> chk_link_next) -> chk_link_previous =  Check;                
; 117 | else                                                                   
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |115| 
        ldiu      *ar0,ar0              ; |115| 
        ldiu      *+fp(1),r0            ; |115| 
        sti       r0,*+ar0(1)           ; |115| 
        bu        L16                   ; |98| 
;*      Branch Occurs to L16            ; |98| 
L15:        
	.line	22
;----------------------------------------------------------------------
; 120 | CHK_Created_Check_List  =       Check;                                 
;----------------------------------------------------------------------
        ldp       @CL5,DP
        ldiu      @CL5,ar0              ; |120| 
        ldiu      *+fp(1),r0            ; |120| 
        sti       r0,*ar0               ; |120| 
	.line	23
;----------------------------------------------------------------------
; 121 | Check -> chk_link_next  =       Check;                                 
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |121| 
        ldiu      ar0,r0                ; |121| 
        sti       r0,*ar0               ; |121| 
	.line	24
;----------------------------------------------------------------------
; 122 | Check -> chk_link_previous      =       Check;                         
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |122| 
        ldiu      ar0,r0                ; |122| 
        sti       r0,*+ar0(1)           ; |122| 
L16:        
	.line	26
;----------------------------------------------------------------------
; 124 | CHK_Total_Check++;                                                     
;----------------------------------------------------------------------
        ldp       @CL4,DP
        ldiu      @CL4,ar0              ; |124| 
        ldiu      1,r0                  ; |124| 
        addi3     r0,*ar0,r0            ; |124| Unsigned
        sti       r0,*ar0               ; |124| 
	.line	28
;----------------------------------------------------------------------
; 126 | (*Check_initialize)(Check);                                            
;----------------------------------------------------------------------
        ldiu      *+fp(1),r0            ; |126| 
        push      r0                    ; |126| 
        ldiu      *-fp(3),r0            ; |126| 
        callu     r0                    ; |126| 
                                        ; |126| Call Occurs
        subi      1,sp                  ; |126| 
	.line	31
;----------------------------------------------------------------------
; 129 | Check -> chk_routine_handler            =       Check_routine;         
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |129| 
        ldiu      *-fp(4),r0            ; |129| 
        sti       r0,*+ar0(10)          ; |129| 
	.line	32
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Unallocate the Frame
        subi      4,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	130,000000000h,2


	.sect	 ".text"

	.global	_ProtectCreat
	.sym	_ProtectCreat,_ProtectCreat,32,2,0
	.func	140
;******************************************************************************
;* FUNCTION NAME: _ProtectCreat                                               *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,r1,r2,r3,fp,sp                                   *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 0 Parm + 0 Auto + 0 SOE = 2 words          *
;******************************************************************************
_ProtectCreat:
	.line	1
;----------------------------------------------------------------------
; 140 | VOID    ProtectCreat(VOID)                                             
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
	.line	3
;----------------------------------------------------------------------
; 142 | PCOM_Initialize();       //Pcom.c : protect link table initialize      
;----------------------------------------------------------------------
        ldp       @CL7,DP
        ldiu      @CL7,r0               ; |142| 
        callu     r0                    ; far call to _PCOM_Initialize	; |142| 
                                        ; |142| Far Call Occurs
	.line	4
;----------------------------------------------------------------------
; 143 | PCOM_Create_Protect(&protect_OC_I_Direction,OC_I_Direction_Initialize,O
;     | C_I_Direction_Routine);//lht.2001.10.23                                
;----------------------------------------------------------------------
        ldp       @CL8,DP
        ldiu      @CL8,r0               ; |143| 
        ldp       @CL9,DP
        ldiu      @CL9,r1               ; |143| 
        ldp       @CL10,DP
        ldiu      @CL10,r2              ; |143| 
        push      r0                    ; |143| 
        ldp       @CL11,DP
        push      r1                    ; |143| 
        ldiu      @CL11,r3              ; |143| 

⌨️ 快捷键说明

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