📄 commujk1f.asm
字号:
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 + -