📄 common.asm
字号:
;----------------------------------------------------------------------
; 208 | char2[0] = **(ReceBuff.pOutBuffer); /*read character*/
;----------------------------------------------------------------------
ldp @CL10,DP
ldiu @CL10,ar0 ; |208|
ldiu *ar0,ar0 ; |208|
ldiu *ar0,ar0 ; |208|
ldiu *-fp(2),ar1 ; |208|
ldiu *ar0,r0 ; |208|
sti r0,*ar1 ; |208|
.line 46
;----------------------------------------------------------------------
; 209 | *(ReceBuff.pOutBuffer) = *(ReceBuff.pOutBuffer)+1;
;----------------------------------------------------------------------
ldiu @CL10,ar0 ; |209|
ldiu *ar0,ar1 ; |209|
ldiu 1,r0 ; |209|
ldiu @CL10,ar0 ; |209|
addi3 r0,*ar1,r0 ; |209| Unsigned
ldiu *ar0,ar0 ; |209|
sti r0,*ar0 ; |209|
.line 47
;----------------------------------------------------------------------
; 210 | char2[1] = 0; /*receive char reliable*/
;----------------------------------------------------------------------
ldiu *-fp(2),ar0 ; |210|
ldiu 0,r0 ; |210|
sti r0,*+ar0(1) ; |210|
.line 49
;----------------------------------------------------------------------
; 212 | if(*(ReceBuff.pOutBuffer) >= (ReceBuff.Buffer+ReceBuff.Length-1))
;----------------------------------------------------------------------
ldp @CL14,DP
ldiu @CL14,ar1 ; |212|
ldp @CL12,DP
ldiu @CL12,ar0 ; |212|
ldp @CL10,DP
ldiu @CL10,ar2 ; |212|
addi3 *ar1,*ar0,r0 ; |212| Unsigned
ldiu *ar2,ar0 ; |212|
ldiu *ar0,r1 ; |212|
subi 1,r0 ; |212| Unsigned
cmpi3 r0,r1 ; |212|
blo L33 ; |212|
;* Branch Occurs to L33 ; |212|
.line 51
;----------------------------------------------------------------------
; 214 | *(ReceBuff.pOutBuffer) = ReceBuff.Buffer; /*reset output pointer*/
;----------------------------------------------------------------------
ldp @CL12,DP
ldiu @CL12,ar0 ; |214|
ldp @CL10,DP
ldiu @CL10,ar1 ; |214|
ldiu *ar0,r0 ; |214|
ldiu *ar1,ar0 ; |214|
sti r0,*ar0 ; |214|
L33:
.line 53
;----------------------------------------------------------------------
; 216 | return(1);
; 218 | // NU_Relinquish();
;----------------------------------------------------------------------
bud L35 ; |216|
nop
nop
ldiu 1,r0 ; |216|
;* Branch Occurs to L35 ; |216|
.line 56
L35:
.line 58
; Begin Epilog Code
ldiu *-fp(1),r1 ; |221|
ldiu *fp,fp ; |221|
; Unallocate the Frame
subi 4,sp ; |221|
bu r1
;* Branch Occurs to r1
.endfunc 221,000000000h,2
.sect ".text"
.global _Tchar16c554JK1
.sym _Tchar16c554JK1,_Tchar16c554JK1,32,2,0
.func 235
;******************************************************************************
;* FUNCTION NAME: _Tchar16c554JK1 *
;* *
;* Architecture : TMS320C32 *
;* Calling Convention : Stack Parameter Convention *
;* Function Uses Regs : r0,ar0,st *
;* Regs Saved : *
;* Stack Frame : Full (w/ debug) *
;* Total Frame Size : 2 Call + 2 Parm + 4 Auto + 0 SOE = 8 words *
;******************************************************************************
_Tchar16c554JK1:
.sym _COM_PORT,-2,28,9,32
.sym _char1,-3,12,9,32
.sym _address1,1,28,1,32
.sym _address2,2,28,1,32
.sym _flag,3,4,1,32
.sym _timecount,4,4,1,32
.line 1
;----------------------------------------------------------------------
; 235 | void Tchar16c554JK1(unsigned char *COM_PORT,unsigned char char1)
;----------------------------------------------------------------------
push fp
ldiu sp,fp
addi 4,sp
.line 2
;----------------------------------------------------------------------
; 237 | unsigned char *address1,*address2;
; 238 | int flag;
; 239 | int timecount;
; 240 | //----------------------------------------------------------------
; |
;----------------------------------------------------------------------
.line 7
;----------------------------------------------------------------------
; 241 | address1 = COM_PORT+5; /* LineSR */
;----------------------------------------------------------------------
ldiu 5,r0 ; |241|
addi *-fp(2),r0 ; |241| Unsigned
sti r0,*+fp(1) ; |241|
.line 8
;----------------------------------------------------------------------
; 242 | address2 = COM_PORT+0; /* TransmitBR */
;----------------------------------------------------------------------
ldiu *-fp(2),r0 ; |242|
sti r0,*+fp(2) ; |242|
.line 10
;----------------------------------------------------------------------
; 244 | timecount = TMD_System_Clock;
;----------------------------------------------------------------------
ldp @CL28,DP
ldiu @CL28,ar0 ; |244|
ldiu *ar0,r0 ; |244|
sti r0,*+fp(4) ; |244|
.line 11
;----------------------------------------------------------------------
; 245 | flag = *address1;
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |245|
ldiu *ar0,r0 ; |245|
sti r0,*+fp(3) ; |245|
.line 12
;----------------------------------------------------------------------
; 246 | TimeCount2 = 0;
;----------------------------------------------------------------------
ldp @CL34,DP
ldiu @CL34,ar0 ; |246|
ldiu 0,r0 ; |246|
sti r0,*ar0 ; |246|
.line 13
;----------------------------------------------------------------------
; 247 | while(!((flag&TransReady_)&&(HoldRegEmpty_&flag)))
;----------------------------------------------------------------------
ldiu 64,r0 ; |247|
tstb *+fp(3),r0 ; |247|
beq L39 ; |247|
;* Branch Occurs to L39 ; |247|
ldiu 32,r0 ; |247|
tstb *+fp(3),r0 ; |247|
bne L41 ; |247|
;* Branch Occurs to L41 ; |247|
L39:
.line 15
;----------------------------------------------------------------------
; 249 | flag = *address1; /* TransmitBR empty */
;----------------------------------------------------------------------
ldiu *+fp(1),ar0 ; |249|
ldiu *ar0,r0 ; |249|
sti r0,*+fp(3) ; |249|
.line 13
ldiu 64,r0 ; |247|
tstb *+fp(3),r0 ; |247|
beq L39 ; |247|
;* Branch Occurs to L39 ; |247|
ldiu 32,r0 ; |247|
tstb *+fp(3),r0 ; |247|
beq L39 ; |247|
;* Branch Occurs to L39 ; |247|
L41:
.line 29
;----------------------------------------------------------------------
; 263 | CommunStatusJK1 &= (~_Txd_Error);
;----------------------------------------------------------------------
ldp @CL31,DP
ldiu @CL31,ar0 ; |263|
ldiu *ar0,r0 ; |263|
andn 32,r0 ; |263|
sti r0,*ar0 ; |263|
.line 30
;----------------------------------------------------------------------
; 264 | *address2 = char1; /* transmit char */
;----------------------------------------------------------------------
ldiu *+fp(2),ar0 ; |264|
ldiu *-fp(3),r0 ; |264|
sti r0,*ar0 ; |264|
.line 31
; Begin Epilog Code
ldiu *-fp(1),r1
ldiu *fp,fp
; Unallocate the Frame
subi 6,sp
bu r1
;* Branch Occurs to r1
.endfunc 265,000000000h,4
.global _ReceBuff
.bss _ReceBuff,4
.sym _ReceBuff,_ReceBuff,8,2,128,_Buffer_Struct
;******************************************************************************
;* CONSTANT TABLE *
;******************************************************************************
.sect ".const"
.bss CL1,1
.bss CL2,1
.bss CL3,1
.bss CL4,1
.bss CL5,1
.bss CL6,1
.bss CL7,1
.bss CL8,1
.bss CL9,1
.bss CL10,1
.bss CL11,1
.bss CL12,1
.bss CL13,1
.bss CL14,1
.bss CL15,1
.bss CL16,1
.bss CL17,1
.bss CL18,1
.bss CL19,1
.bss CL20,1
.bss CL21,1
.bss CL22,1
.bss CL23,1
.bss CL24,1
.bss CL25,1
.bss CL26,1
.bss CL27,1
.bss CL28,1
.bss CL29,1
.bss CL30,1
.bss CL31,1
.bss CL32,1
.bss CL33,1
.bss CL34,1
.sect ".cinit"
.field 34,32
.field CL1+0,32
.field _Com_Port1,32
.field _Init_16c554A,32
.field _Com_Port2,32
.field _Init_16c554B,32
.field _Com_Port3,32
.field _Init_16c554C,32
.field _Init_16c554D,32
.field _ReceBuff,32
.field _pInReceBuffA,32
.field _ReceBuff+1,32
.field _pOutReceBuffA,32
.field _ReceBuff+2,32
.field _ReceiveBuffA,32
.field _ReceBuff+3,32
.field _ReceBuffALen_,32
.field _pInReceBuffB,32
.field _pOutReceBuffB,32
.field _ReceiveBuffB,32
.field _ReceBuffBLen_,32
.field _pInReceBuffC,32
.field _pOutReceBuffC,32
.field _ReceiveBuffC,32
.field _ReceBuffCLen_,32
.field _pInReceBuffD,32
.field _pOutReceBuffD,32
.field _ReceiveBuffD,32
.field _ReceBuffDLen_,32
.field _TMD_System_Clock,32
.field _TimeCount1,32
.field _Initial_16c554JK1,32
.field _CommunStatusJK1,32
.field _TCSE_Change_Preemption,32
.field _Com_Port4,32
.field _TimeCount2,32
.sect ".text"
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _TCSE_Change_Preemption
.global _ReceBuffALen_
.global _ReceBuffBLen_
.global _ReceBuffCLen_
.global _ReceBuffDLen_
.global _Com_Port1
.global _Com_Port2
.global _Com_Port3
.global _Com_Port4
.global _pInReceBuffA
.global _pOutReceBuffA
.global _ReceiveBuffA
.global _pInReceBuffB
.global _pOutReceBuffB
.global _ReceiveBuffB
.global _pInReceBuffC
.global _pOutReceBuffC
.global _ReceiveBuffC
.global _pInReceBuffD
.global _pOutReceBuffD
.global _ReceiveBuffD
.global _Init_16c554A
.global _Init_16c554B
.global _Init_16c554C
.global _Init_16c554D
.global _TMD_System_Clock
.global _Ctrl_Output_on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -