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

📄 commujk1f.asm

📁 电力系统中的保护装置全部代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        or3       r0,*ar0,r0            ; |309| 
        sti       r0,*ar0               ; |309| 
	.line	11
;----------------------------------------------------------------------
; 310 | timecount1++;                                                          
;----------------------------------------------------------------------
        ldp       @CL22,DP
        ldiu      @CL22,ar0             ; |310| 
        ldiu      1,r0                  ; |310| 
        addi3     r0,*ar0,r0            ; |310| 
        sti       r0,*ar0               ; |310| 
	.line	12
;----------------------------------------------------------------------
; 311 | if(timecount1>2)            /*5 seconds transmit one 2nd data*/        
;----------------------------------------------------------------------
        ldiu      @CL22,ar0             ; |311| 
        ldiu      *ar0,r0               ; |311| 
        cmpi      2,r0                  ; |311| 
        ble       L17                   ; |311| 
;*      Branch Occurs to L17            ; |311| 
	.line	14
;----------------------------------------------------------------------
; 313 | ASDU_9_FlagJK1 |= _Data_Request9;                                      
;----------------------------------------------------------------------
        ldp       @CL23,DP
        ldiu      @CL23,ar0             ; |313| 
        ldiu      128,r0                ; |313| 
        or3       r0,*ar0,r0            ; |313| 
        sti       r0,*ar0               ; |313| 
	.line	15
;----------------------------------------------------------------------
; 314 | timecount1 = 0;                                                        
;----------------------------------------------------------------------
        ldp       @CL22,DP
        ldiu      @CL22,ar0             ; |314| 
        ldiu      0,r0                  ; |314| 
        sti       r0,*ar0               ; |314| 
L17:        
	.line	18
;----------------------------------------------------------------------
; 317 | return(1);                                                             
;----------------------------------------------------------------------
        ldiu      1,r0                  ; |317| 
	.line	19
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1            ; |318| 
        ldiu      *fp,fp                ; |318| 
                                        ; Unallocate the Frame
        subi      3,sp                  ; |318| 
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	318,000000000h,1


	.sect	 ".text"

	.global	_ReceiveFrame_JK1
	.sym	_ReceiveFrame_JK1,_ReceiveFrame_JK1,32,2,0
	.func	338
;******************************************************************************
;* FUNCTION NAME: _ReceiveFrame_JK1                                           *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,r1,r2,ar0,ar1,fp,sp,st                           *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 2 Parm + 8 Auto + 0 SOE = 12 words         *
;******************************************************************************
_ReceiveFrame_JK1:
	.sym	_Buffer,-2,28,9,32
	.sym	_COM_PORT,-3,28,9,32
	.sym	_i,1,4,1,32
	.sym	_flag2,2,4,1,32
	.sym	_pTRxdBuffer,3,28,1,32
	.sym	_ptr,4,28,1,32
	.sym	_char1,5,60,1,64,,2
	.sym	_char2,7,12,1,32
	.sym	_char3,8,12,1,32
	.line	1
;----------------------------------------------------------------------
; 338 | void ReceiveFrame_JK1(unsigned char* Buffer,unsigned char *COM_PORT)   
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        addi      8,sp
	.line	2
;----------------------------------------------------------------------
; 340 | int  i;                                                                
; 341 | int flag2;                                                             
; 342 | unsigned char *pTRxdBuffer,*ptr;                                       
; 343 | unsigned char char1[2],char2,char3;                                    
; 346 | //-------------------------------------------------------------------  
;----------------------------------------------------------------------
	.line	10
;----------------------------------------------------------------------
; 347 | Construct_StructJK1 (COM_PORT);                                        
;----------------------------------------------------------------------
        ldp       @CL24,DP
        ldiu      *-fp(3),r1            ; |347| 
        ldiu      @CL24,r0              ; |347| 
        push      r1                    ; |347| 
        callu     r0                    ; far call to _Construct_StructJK1	; |347| 
                                        ; |347| Far Call Occurs
        subi      1,sp                  ; |347| 
	.line	11
;----------------------------------------------------------------------
; 348 | flag2 = Again_AllReceive;                                              
; 350 | while(1)                                                               
; 352 |         //-----------------receive five characters---------------------
;     | ---*/                                                                  
;----------------------------------------------------------------------
        ldiu      170,r0                ; |348| 
        sti       r0,*+fp(2)            ; |348| 
L21:        
	.line	16
;----------------------------------------------------------------------
; 353 | if(flag2 == Again_AllReceive)                                          
;----------------------------------------------------------------------
        ldiu      *+fp(2),r0            ; |353| 
        cmpi      170,r0                ; |353| 
        bne       L27                   ; |353| 
;*      Branch Occurs to L27            ; |353| 
	.line	18
;----------------------------------------------------------------------
; 355 | pTRxdBuffer     = Buffer;                                              
;----------------------------------------------------------------------
        ldiu      *-fp(2),r0            ; |355| 
        sti       r0,*+fp(3)            ; |355| 
	.line	19
;----------------------------------------------------------------------
; 356 | flag2 = Check_Receive;                                                 
;----------------------------------------------------------------------
        ldiu      85,r0                 ; |356| 
        sti       r0,*+fp(2)            ; |356| 
	.line	20
;----------------------------------------------------------------------
; 357 | for(i=0; i<5; i++)                                                     
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |357| 
        sti       r0,*+fp(1)            ; |357| 
        cmpi      5,r0                  ; |357| 
        bge       L27                   ; |357| 
;*      Branch Occurs to L27            ; |357| 
L23:        
	.line	22
;----------------------------------------------------------------------
; 359 | Rchar16c554JK1(char1,COM_PORT);                                        
;----------------------------------------------------------------------
        ldiu      fp,r0                 ; |359| 
        ldiu      *-fp(3),r2            ; |359| 
        ldp       @CL25,DP
        addi      5,r0                  ; |359| 
        push      r2                    ; |359| 
        ldiu      @CL25,r1              ; |359| 
        push      r0                    ; |359| 
        callu     r1                    ; far call to _Rchar16c554JK1	; |359| 
                                        ; |359| Far Call Occurs
        subi      2,sp                  ; |359| 
	.line	23
;----------------------------------------------------------------------
; 360 | if(char1[1] == 0x00)                                                   
;----------------------------------------------------------------------
        ldiu      fp,ar0                ; |360| 
        addi      6,ar0                 ; |360| 
        ldiu      *ar0,r0               ; |360| 
        cmpi      0,r0                  ; |360| 
        bne       L25                   ; |360| 
;*      Branch Occurs to L25            ; |360| 
	.line	25
;----------------------------------------------------------------------
; 362 | *pTRxdBuffer++ = char1[0];                                             
; 365 | else                                                                   
;----------------------------------------------------------------------
        ldiu      fp,ar0                ; |362| 
        ldiu      1,r0                  ; |362| 
        ldiu      *+fp(3),ar1           ; |362| 
        addi      5,ar0                 ; |362| 
        addi      ar1,r0                ; |362| 
        sti       r0,*+fp(3)            ; |362| 
        ldiu      *ar0,r0               ; |362| 
        sti       r0,*ar1               ; |362| 
        bu        L26                   ; |337| 
;*      Branch Occurs to L26            ; |337| 
L25:        
	.line	30
;----------------------------------------------------------------------
; 367 | flag2 = Again_AllReceive;                                              
;----------------------------------------------------------------------
        ldiu      170,r0                ; |367| 
        sti       r0,*+fp(2)            ; |367| 
	.line	31
;----------------------------------------------------------------------
; 368 | break;                                                                 
; 372 | //-----------------to judge whether  fix/unfix frame-------------------
;     | -----*/                                                                
;----------------------------------------------------------------------
        bu        L27                   ; |368| 
;*      Branch Occurs to L27            ; |368| 
L26:        
	.line	20
        ldiu      1,r0                  ; |357| 
        addi      *+fp(1),r0            ; |357| 
        sti       r0,*+fp(1)            ; |357| 
        cmpi      5,r0                  ; |357| 
        blt       L23                   ; |357| 
;*      Branch Occurs to L23            ; |357| 
L27:        
	.line	36
;----------------------------------------------------------------------
; 373 | if(flag2 == Check_Receive)                                             
; 375 | switch(Buffer[0]&0xff)                                                 
; 377 |         case Start_Code1:               //fix frame                    
;----------------------------------------------------------------------
        ldiu      *+fp(2),r0            ; |373| 
        cmpi      85,r0                 ; |373| 
        bne       L67                   ; |373| 
;*      Branch Occurs to L67            ; |373| 
        bu        L64                   ; |337| 
;*      Branch Occurs to L64            ; |337| 
L29:        
	.line	42
;----------------------------------------------------------------------
; 379 | if(((Buffer[2]&0xff) == (subAddress_backup&0xff))                      
; 380 | ||((Buffer[2]&0xff) == 0x0ff))                                         
;----------------------------------------------------------------------
        ldp       @CL26,DP
        ldiu      255,r0                ; |379| 
        ldiu      *-fp(2),ar1           ; |379| 
        ldiu      255,r1                ; |379| 
        ldiu      @CL26,ar0             ; |379| 
        and       *+ar1(2),r0           ; |379| 
        and3      r1,*ar0,r1            ; |379| 
        cmpi3     r1,r0                 ; |379| 
        beq       L31                   ; |379| 
;*      Branch Occurs to L31            ; |379| 
        ldiu      ar1,ar0
        ldiu      255,r0                ; |379| 
        and       *+ar0(2),r0           ; |379| 
        cmpi      255,r0                ; |379| 
        bne       L37                   ; |379| 
;*      Branch Occurs to L37            ; |379| 
L31:        
	.line	45
;----------------------------------------------------------------------
; 382 | if((Buffer[4]&0xff) != End_Code)                                       
;----------------------------------------------------------------------
        ldiu      *-fp(2),ar0           ; |382| 
        ldiu      255,r0                ; |382| 
        and       *+ar0(4),r0           ; |382| 
        cmpi      22,r0                 ; |382| 
        beq       L33                   ; |382| 
;*      Branch Occurs to L33            ; |382| 
	.line	47
;----------------------------------------------------------------------
; 384 | flag2 = Again_OneReceive;                                              
;----------------------------------------------------------------------
        ldiu      90,r0                 ; |384| 
        sti       r0,*+fp(2)            ; |384| 
	.line	48
;----------------------------------------------------------------------
; 385 | break;                                                                 
;----------------------------------------------------------------------
        bu        L67                   ; |385| 
;*      Branch Occurs to L67            ; |385| 
L33:        
	.line	51
;----------------------------------------------------------------------
; 388 | char3 = (Buffer[1]&0xff)+(Buffer[2]&0xff);                             
;----------------------------------------------------------------------
        ldiu      *-fp(2),ar0           ; |388| 
        ldiu      255,r1                ; |388| 
        ldiu      255,r0                ; |388| 
        ldiu      ar0,ar1               ; |388| 
        and       *+ar0(2),r1           ; |388| 
        and       *+ar1(1),r0           ; |388| 
        addi3     r1,r0,r0              ; |388| Unsigned
        sti       r0,*+fp(8)            ; |388| 
	.line	52
;----------------------------------------------------------------------
; 389 | if((Buffer[3]&0xff) != (char3&0xff) )                                  
;----------------------------------------------------------------------
        ldiu      255,r1                ; |389| 
        ldiu      255,r0                ; |389| 
        and       *+ar0(3),r1           ; |389| 
        and       *+fp(8),r0            ; |389| 
        cmpi3     r0,r1                 ; |389| 
        beq       L35                   ; |389| 
;*      Branch Occurs to L35            ; |389| 
	.line	54
;----------------------------------------------------------------------
; 391 | flag2 = Again_OneReceive;                                              
;----------------------------------------------------------------------
        ldiu      90,r0                 ; |391| 

⌨️ 快捷键说明

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