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

📄 common.asm

📁 电力系统中的保护装置全部代码
💻 ASM
📖 第 1 页 / 共 4 页
字号:
        ldp       @CL12,DP
        ldiu      @CL12,ar1             ; |130| 
        ldiu      *ar0,r0               ; |130| 
        sti       r0,*ar1               ; |130| 
	.line	15
;----------------------------------------------------------------------
; 131 | ReceBuff.Length = ReceBuffBLen;      /*buffer length*/                 
;----------------------------------------------------------------------
        ldp       @CL14,DP
        ldiu      @CL14,ar0             ; |131| 
        ldp       @CL19,DP
        ldiu      @CL19,r0              ; |131| 
        sti       r0,*ar0               ; |131| 
        bu        L18                   ; |116| 
;*      Branch Occurs to L18            ; |116| 
L15:        
	.line	17
;----------------------------------------------------------------------
; 133 | else if(COM_PORT == Com_Port3)                                         
;----------------------------------------------------------------------
        ldp       @CL5,DP
        ldiu      @CL5,ar0              ; |133| 
        ldiu      *-fp(2),r0            ; |133| 
        cmpi3     *ar0,r0               ; |133| 
        bne       L17                   ; |133| 
;*      Branch Occurs to L17            ; |133| 
	.line	19
;----------------------------------------------------------------------
; 135 | ReceBuff.pInBuffer= pInReceBuffC;      /*input pointer*/               
;----------------------------------------------------------------------
        ldp       @CL20,DP
        ldiu      @CL20,ar0             ; |135| 
        ldp       @CL8,DP
        ldiu      @CL8,ar1              ; |135| 
        ldiu      *ar0,r0               ; |135| 
        sti       r0,*ar1               ; |135| 
	.line	20
;----------------------------------------------------------------------
; 136 | ReceBuff.pOutBuffer= pOutReceBuffC;     /*output pointer*/             
;----------------------------------------------------------------------
        ldp       @CL21,DP
        ldiu      @CL21,ar0             ; |136| 
        ldp       @CL10,DP
        ldiu      @CL10,ar1             ; |136| 
        ldiu      *ar0,r0               ; |136| 
        sti       r0,*ar1               ; |136| 
	.line	21
;----------------------------------------------------------------------
; 137 | ReceBuff.Buffer = ReceiveBuffC;      /*Buffer address pointer*/        
;----------------------------------------------------------------------
        ldp       @CL22,DP
        ldiu      @CL22,ar0             ; |137| 
        ldp       @CL12,DP
        ldiu      @CL12,ar1             ; |137| 
        ldiu      *ar0,r0               ; |137| 
        sti       r0,*ar1               ; |137| 
	.line	22
;----------------------------------------------------------------------
; 138 | ReceBuff.Length = ReceBuffCLen;      /*buffer length*/                 
; 140 | else                                                                   
;----------------------------------------------------------------------
        ldp       @CL14,DP
        ldiu      @CL14,ar0             ; |138| 
        ldp       @CL23,DP
        ldiu      @CL23,r0              ; |138| 
        sti       r0,*ar0               ; |138| 
        bu        L18                   ; |116| 
;*      Branch Occurs to L18            ; |116| 
L17:        
	.line	26
;----------------------------------------------------------------------
; 142 | ReceBuff.pInBuffer= pInReceBuffD;      /*input pointer*/               
;----------------------------------------------------------------------
        ldp       @CL24,DP
        ldiu      @CL24,ar0             ; |142| 
        ldp       @CL8,DP
        ldiu      @CL8,ar1              ; |142| 
        ldiu      *ar0,r0               ; |142| 
        sti       r0,*ar1               ; |142| 
	.line	27
;----------------------------------------------------------------------
; 143 | ReceBuff.pOutBuffer= pOutReceBuffD;     /*output pointer*/             
;----------------------------------------------------------------------
        ldp       @CL25,DP
        ldiu      @CL25,ar0             ; |143| 
        ldp       @CL10,DP
        ldiu      @CL10,ar1             ; |143| 
        ldiu      *ar0,r0               ; |143| 
        sti       r0,*ar1               ; |143| 
	.line	28
;----------------------------------------------------------------------
; 144 | ReceBuff.Buffer =       ReceiveBuffD;      /*Buffer address pointer*/  
;----------------------------------------------------------------------
        ldp       @CL26,DP
        ldiu      @CL26,ar1             ; |144| 
        ldp       @CL12,DP
        ldiu      @CL12,ar0             ; |144| 
        ldiu      *ar1,r0               ; |144| 
        sti       r0,*ar0               ; |144| 
	.line	29
;----------------------------------------------------------------------
; 145 | ReceBuff.Length =       ReceBuffDLen;      /*buffer length*/           
;----------------------------------------------------------------------
        ldp       @CL14,DP
        ldiu      @CL14,ar0             ; |145| 
        ldp       @CL27,DP
        ldiu      @CL27,r0              ; |145| 
        sti       r0,*ar0               ; |145| 
L18:        
	.line	31
;----------------------------------------------------------------------
; 147 | return(1);                                                             
;----------------------------------------------------------------------
        ldiu      1,r0                  ; |147| 
	.line	32
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1            ; |148| 
        ldiu      *fp,fp                ; |148| 
                                        ; Unallocate the Frame
        subi      2,sp                  ; |148| 
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	148,000000000h,0


	.sect	 ".text"

	.global	_Rchar16c554JK1
	.sym	_Rchar16c554JK1,_Rchar16c554JK1,36,2,0
	.func	164
;******************************************************************************
;* FUNCTION NAME: _Rchar16c554JK1                                             *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,r1,ar0,ar1,ar2,fp,sp,st                          *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 2 Parm + 2 Auto + 0 SOE = 6 words          *
;******************************************************************************
_Rchar16c554JK1:
	.sym	_char2,-2,28,9,32
	.sym	_COM_PORT,-3,28,9,32
	.sym	_timecount,1,4,1,32
	.sym	_old_preempt,2,12,1,32
	.line	1
;----------------------------------------------------------------------
; 164 | int Rchar16c554JK1(unsigned char char2[2],unsigned char *COM_PORT)     
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        addi      2,sp
	.line	2
;----------------------------------------------------------------------
; 166 | int timecount;                                                         
; 167 | OPTION          old_preempt;                                           
; 168 | //----------------------------------------------------------------     
;----------------------------------------------------------------------
	.line	7
;----------------------------------------------------------------------
; 170 | timecount = TMD_System_Clock;                                          
; 172 | while(1)                                                               
;----------------------------------------------------------------------
        ldp       @CL28,DP
        ldiu      @CL28,ar0             ; |170| 
        ldiu      *ar0,r0               ; |170| 
        sti       r0,*+fp(1)            ; |170| 
L22:        
	.line	11
;----------------------------------------------------------------------
; 174 | if((TMD_System_Clock - timecount)>300)                                 
;----------------------------------------------------------------------
        ldp       @CL28,DP
        ldiu      @CL28,ar0             ; |174| 
        ldiu      *+fp(1),r0            ; |174| 
        subi3     r0,*ar0,r0            ; |174| Unsigned
        cmpi      300,r0                ; |174| 
        bls       L30                   ; |174| 
;*      Branch Occurs to L30            ; |174| 
	.line	13
;----------------------------------------------------------------------
; 176 | TimeCount1++;                                                          
;----------------------------------------------------------------------
        ldp       @CL29,DP
        ldiu      @CL29,ar0             ; |176| 
        ldiu      1,r0                  ; |176| 
        addi3     r0,*ar0,r0            ; |176| 
        sti       r0,*ar0               ; |176| 
	.line	14
;----------------------------------------------------------------------
; 177 | timecount = TMD_System_Clock;                                          
;----------------------------------------------------------------------
        ldp       @CL28,DP
        ldiu      @CL28,ar0             ; |177| 
        ldiu      *ar0,r0               ; |177| 
        sti       r0,*+fp(1)            ; |177| 
	.line	15
;----------------------------------------------------------------------
; 178 | if(TimeCount1 >= 30)                                                   
;----------------------------------------------------------------------
        ldp       @CL29,DP
        ldiu      @CL29,ar0             ; |178| 
        ldiu      *ar0,r0               ; |178| 
        cmpi      30,r0                 ; |178| 
        blt       L29                   ; |178| 
;*      Branch Occurs to L29            ; |178| 
	.line	17
;----------------------------------------------------------------------
; 180 | Initial_16c554JK1(COM_PORT);    /*reset communication unit*/           
;----------------------------------------------------------------------
        ldp       @CL30,DP
        ldiu      *-fp(3),r0            ; |180| 
        ldiu      @CL30,r1              ; |180| 
        push      r0                    ; |180| 
        callu     r1                    ; far call to _Initial_16c554JK1	; |180| 
                                        ; |180| Far Call Occurs
        subi      1,sp                  ; |180| 
	.line	18
;----------------------------------------------------------------------
; 181 | TimeCount1 = 0;                                                        
;----------------------------------------------------------------------
        ldp       @CL29,DP
        ldiu      @CL29,ar0             ; |181| 
        ldiu      0,r0                  ; |181| 
        sti       r0,*ar0               ; |181| 
	.line	19
;----------------------------------------------------------------------
; 182 | CommunStatusJK1 |= _Rxd_Error;                                         
;----------------------------------------------------------------------
        ldp       @CL31,DP
        ldiu      @CL31,ar0             ; |182| 
        ldiu      16,r0                 ; |182| 
        or3       r0,*ar0,r0            ; |182| 
        sti       r0,*ar0               ; |182| 
	.line	20
;----------------------------------------------------------------------
; 183 | old_preempt = NU_Change_Preemption(NU_NO_PREEMPT);                     
;----------------------------------------------------------------------
        ldp       @CL32,DP
        ldiu      8,r1                  ; |183| 
        ldiu      @CL32,r0              ; |183| 
        push      r1                    ; |183| 
        callu     r0                    ; far call to _TCSE_Change_Preemption	; |183| 
                                        ; |183| Far Call Occurs
        subi      1,sp                  ; |183| 
        sti       r0,*+fp(2)            ; |183| 
	.line	21
;----------------------------------------------------------------------
; 184 | if(COM_PORT==Com_Port3)                                                
; 187 | //              CtrlPortBuf  &= (~_485_OE1);  /*485OE1 unSelected*/    
; 188 | //          *RDY_OE = CtrlPortBuf;                                     
;----------------------------------------------------------------------
        ldp       @CL5,DP
        ldiu      @CL5,ar0              ; |184| 
        ldiu      *-fp(3),r0            ; |184| 
        cmpi3     *ar0,r0               ; |184| 
        bne       L26                   ; |184| 
;*      Branch Occurs to L26            ; |184| 
	.line	26
;----------------------------------------------------------------------
; 189 | disable485()                                                           
;----------------------------------------------------------------------
        ldiu      1,r0                  ; |189| 
        push      r0                    ; |189| 
        call      _Ctrl_Output_on       ; |189| 
                                        ; |189| Call Occurs
        subi      1,sp                  ; |189| 
L26:        
	.line	28
;----------------------------------------------------------------------
; 191 | if(COM_PORT==Com_Port4)                                                
; 193 | //              CtrlPortBuf &= (~_485_OE1);   /*485OE2 unSelected*/    
; 194 | //      *RDY_OE = CtrlPortBuf;                                         
;----------------------------------------------------------------------
        ldp       @CL33,DP
        ldiu      @CL33,ar0             ; |191| 
        ldiu      *-fp(3),r0            ; |191| 
        cmpi3     *ar0,r0               ; |191| 
        bne       L28                   ; |191| 
;*      Branch Occurs to L28            ; |191| 
	.line	32
;----------------------------------------------------------------------
; 195 | disable485()                                                           
;----------------------------------------------------------------------
        ldiu      1,r0                  ; |195| 
        push      r0                    ; |195| 
        call      _Ctrl_Output_on       ; |195| 
                                        ; |195| Call Occurs
        subi      1,sp                  ; |195| 
L28:        
	.line	34
;----------------------------------------------------------------------
; 197 | NU_Change_Preemption(old_preempt);                                     
;----------------------------------------------------------------------
        ldp       @CL32,DP
        ldiu      *+fp(2),r1            ; |197| 
        ldiu      @CL32,r0              ; |197| 
        push      r1                    ; |197| 
        callu     r0                    ; far call to _TCSE_Change_Preemption	; |197| 
                                        ; |197| Far Call Occurs
        subi      1,sp                  ; |197| 
L29:        
	.line	36
;----------------------------------------------------------------------
; 199 | char2[1] = 0x0ff;                 /*time out */                        
;----------------------------------------------------------------------
        ldiu      *-fp(2),ar0           ; |199| 
        ldiu      255,r0                ; |199| 
        sti       r0,*+ar0(1)           ; |199| 
	.line	38
;----------------------------------------------------------------------
; 201 | return(1);                                                             
;----------------------------------------------------------------------
        bud       L35                   ; |201| 
	nop
	nop
        ldiu      1,r0                  ; |201| 
;*      Branch Occurs to L35            ; |201| 
L30:        
	.line	41
;----------------------------------------------------------------------
; 204 | if(*(ReceBuff.pInBuffer) != *(ReceBuff.pOutBuffer))     /*Have char*/  
;----------------------------------------------------------------------
        ldp       @CL10,DP
        ldiu      @CL10,ar1             ; |204| 
        ldp       @CL8,DP
        ldiu      @CL8,ar0              ; |204| 
        ldiu      *ar1,ar1              ; |204| 
        ldiu      *ar0,ar0              ; |204| 
        cmpi3     *ar1,*ar0             ; |204| 
        beq       L22                   ; |204| 
;*      Branch Occurs to L22            ; |204| 
	.line	43
;----------------------------------------------------------------------
; 206 | TimeCount1 = 0;                                                        
;----------------------------------------------------------------------
        ldp       @CL29,DP
        ldiu      @CL29,ar0             ; |206| 
        ldiu      0,r0                  ; |206| 
        sti       r0,*ar0               ; |206| 
	.line	44
;----------------------------------------------------------------------
; 207 | CommunStatusJK1 &= _Rxd_Error^0xff;                                    
;----------------------------------------------------------------------
        ldp       @CL31,DP
        ldiu      @CL31,ar0             ; |207| 
        ldiu      239,r0                ; |207| 
        and3      r0,*ar0,r0            ; |207| 
        sti       r0,*ar0               ; |207| 
	.line	45

⌨️ 快捷键说明

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