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