www.pudn.com > JPEGMotion.rar > thrControl.asm
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.36 *
;* Date/Time created: Thu Nov 04 18:17:26 2004 *
;******************************************************************************
;******************************************************************************
;* GLOBAL FILE PARAMETERS *
;* *
;* Architecture : TMS320C64xx *
;* Optimization : Enabled at level 3 *
;* Optimizing for : Speed *
;* Based on options: -o3, no -ms *
;* Endian : Little *
;* Interrupt Thrshld : Disabled *
;* Memory Model : Large *
;* Calls to RTS : Far *
;* Pipelining : Enabled *
;* Speculative Load : Enabled *
;* Memory Aliases : Presume not aliases (optimistic) *
;* Debug Info : No Debug Info *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
.global _externalControl
_externalControl: .usect ".far",8,128
.global _externalControlPrev
_externalControlPrev: .usect ".far",8,4
; c:\ti\c6000\cgtools\bin\opt6x.exe -t -DI0 -v6400 -q -O3 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI840_2 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI840_5 -w C:/ti/boards/evmdm642/examples/Demojpeg_motionB/obj/
.sect ".text"
.global _thrControlStartup
;******************************************************************************
;* FUNCTION NAME: _thrControlStartup *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,B10,B11,B13,SP,A16,A17,A18,A19,A20, *
;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;* B29,B30,B31 *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,B10,B11,B13,SP,A16,A17,A18,A19,A20, *
;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;* B29,B30,B31 *
;* Local Frame Size : 0 Args + 16 Auto + 16 Save = 32 byte *
;******************************************************************************
_thrControlStartup:
;** --------------------------------------------------------------------------*
MVKL .S1 _externalControl,A10 ; |89|
|| MVKL .S2 _MBX_post,B5 ; |92|
|| STW .D2T1 A10,*SP--(32) ; |79|
MVKH .S1 _externalControl,A10 ; |89|
|| MVKH .S2 _MBX_post,B5 ; |92|
CALL .S2 B5 ; |92|
|| LDW .D1T1 *A10,A3 ; |89|
STDW .D2T2 B11:B10,*+SP(24) ; |79|
STW .D2T2 B13,*+SP(20) ; |79|
|| MVKL .S2 _mbxProcess,B11 ; |92|
|| ZERO .L2 B10 ; |87|
STW .D2T2 B10,*+SP(4) ; |87|
|| MVKH .S2 _mbxProcess,B11 ; |92|
STW .D2T2 B10,*+SP(8) ; |88|
|| ADD .S2 4,SP,B4 ; |92|
ADDKPC .S2 RL0,B3,0 ; |92|
|| STW .D2T1 A3,*+SP(12) ; |89|
|| MV .D1X B11,A4 ; |92|
|| MV .L2 B3,B13 ; |79|
|| ZERO .S1 A6 ; |92|
RL0: ; CALL OCCURS ; |92|
MVKL .S1 _MBX_post,A3 ; |101|
MVKH .S1 _MBX_post,A3 ; |101|
LDW .D1T1 *+A10(4),A5 ; |98|
CALL .S2X A3 ; |101|
MVK .D2 1,B4 ; |95|
STW .D2T2 B4,*+SP(4) ; |95|
STW .D2T2 B10,*+SP(8) ; |96|
STW .D2T2 B10,*+SP(12) ; |97|
ADDKPC .S2 RL1,B3,0 ; |101|
|| ADD .L2 4,SP,B4 ; |101|
|| STW .D2T1 A5,*+SP(16) ; |98|
|| MV .D1X B11,A4 ; |92|
|| ZERO .S1 A6 ; |101|
RL1: ; CALL OCCURS ; |101|
MV .S2 B13,B3 ; |103|
|| LDDW .D2T2 *+SP(24),B11:B10 ; |103|
RET .S2 B3 ; |103|
|| LDW .D2T2 *+SP(20),B13 ; |103|
LDW .D2T1 *++SP(32),A10 ; |103|
NOP 4
; BRANCH OCCURS ; |103|
.sect ".text"
.global _thrControlSet
;******************************************************************************
;* FUNCTION NAME: _thrControlSet *
;* *
;* Regs Modified : A3,B0,B4 *
;* Regs Used : A3,A4,B0,B3,B4 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_thrControlSet:
;** --------------------------------------------------------------------------*
RETNOP .S2 B3,1 ; |71|
MVKL .S1 _externalControl,A3 ; |69|
MVKH .S1 _externalControl,A3 ; |69|
|| SUB .D2 B4,10,B4 ; |60|
|| CMPGT .L2 B4,10,B0 ; |60|
STW .D1T1 A4,*A3 ; |69|
|| [!B0] MVK .D2 0x1,B4 ; |66|
STW .D1T2 B4,*+A3(4) ; |70|
; BRANCH OCCURS ; |71|
.sect ".text"
.global _thrControlRun
;******************************************************************************
;* FUNCTION NAME: _thrControlRun *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,SP,A16,A17,A18,A19,A20,A21, *
;* A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16,B17, *
;* B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28,B29, *
;* B30,B31 *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,B10,B13,SP,A16,A17,A18,A19,A20, *
;* A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;* B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;* B29,B30,B31 *
;* Local Frame Size : 0 Args + 16 Auto + 16 Save = 32 byte *
;******************************************************************************
_thrControlRun:
;** --------------------------------------------------------------------------*
MVKL .S2 _externalControl,B4 ; |116|
|| MVKL .S1 _externalControlPrev,A3 ; |116|
MVKH .S2 _externalControl,B4 ; |116|
|| MVKH .S1 _externalControlPrev,A3 ; |116|
LDW .D2T2 *B4,B4 ; |116|
|| LDW .D1T1 *A3,A3 ; |116|
NOP 3
STW .D2T2 B10,*SP--(32) ; |111|
CMPEQ .L1X B4,A3,A0 ; |116|
[ A0] B .S1 L2 ; |116|
MVKL .S2 _mbxProcess,B5
MVKH .S2 _mbxProcess,B5
STDW .D2T1 A11:A10,*+SP(24) ; |111|
[ A0] MVKL .S2 _mbxProcess,B4
|| STW .D2T2 B13,*+SP(20) ; |111|
|| MV .D1X B5,A11
[ A0] MVKH .S2 _mbxProcess,B4
; BRANCH OCCURS ; |116|
;** --------------------------------------------------------------------------*
MVKL .S1 _MBX_post,A3 ; |136|
MVKH .S1 _MBX_post,A3 ; |136|
NOP 1
;** --------------------------------------------------------------------------*
L1:
CALL .S2X A3 ; |136|
STW .D2T2 B4,*+SP(12) ; |135|
ZERO .S2 B5 ; |133|
STW .D2T2 B5,*+SP(4) ; |133|
|| MVKL .S2 _externalControlPrev,B6 ; |129|
STW .D2T2 B5,*+SP(8) ; |134|
|| MVKH .S2 _externalControlPrev,B6 ; |129|
ADDKPC .S2 RL2,B3,0 ; |136|
|| ADD .L2 4,SP,B4 ; |136|
|| STW .D2T2 B4,*B6 ; |129|
|| MV .D1 A11,A4 ; |136|
|| ZERO .S1 A6 ; |136|
RL2: ; CALL OCCURS ; |136|
MVKL .S2 _mbxProcess,B4
MVKH .S2 _mbxProcess,B4
;** --------------------------------------------------------------------------*
L2:
MVKL .S1 _TSK_timerSem,A10
MV .D1X B4,A11
|| MVKH .S1 _TSK_timerSem,A10
|| MVK .S2 0x1f4,B10
MVKL .S1 _externalControlPrev+4,A3 ; |140|
MVKH .S1 _externalControlPrev+4,A3 ; |140|
|| MVKL .S2 _externalControl+4,B4 ; |140|
MVKH .S2 _externalControl+4,B4 ; |140|
LDW .D2T2 *B4,B4 ; |140|
|| MV .S2X A3,B6 ; |140|
LDW .D2T2 *B6,B5 ; |140|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains control code
;*----------------------------------------------------------------------------*
L3:
NOP 4
CMPEQ .L2 B4,B5,B0 ; |140|
[ B0] BNOP .S1 L4,2 ; |140|
[ B0] MVKL .S2 _SEM_pend,B5 ; |157|
|| [!B0] MVKL .S1 _MBX_post,A3 ; |152|
[ B0] MVKH .S2 _SEM_pend,B5 ; |157|
|| [!B0] MVKH .S1 _MBX_post,A3 ; |152|
NOP 1
; BRANCH OCCURS ; |140|
;** --------------------------------------------------------------------------*
CALL .S2X A3 ; |152|
STW .D2T2 B4,*+SP(16) ; |151|
STW .D2T2 B4,*B6 ; |144|
|| MVK .S2 1,B5 ; |148|
ZERO .S2 B5 ; |149|
|| STW .D2T2 B5,*+SP(4) ; |148|
STW .D2T2 B5,*+SP(12) ; |150|
ADDKPC .S2 RL3,B3,0 ; |152|
|| STW .D2T2 B5,*+SP(8) ; |149|
|| ADD .L2 4,SP,B4 ; |152|
|| MV .D1 A11,A4 ; |152|
|| ZERO .S1 A6 ; |152|
RL3: ; CALL OCCURS ; |152|
MVKL .S2 _SEM_pend,B5 ; |157|
MVKH .S2 _SEM_pend,B5 ; |157|
;** --------------------------------------------------------------------------*
L4:
CALL .S2 B5 ; |157|
ADDKPC .S2 RL4,B3,2 ; |157|
MV .D2 B10,B4 ; |157|
MV .D1 A10,A4 ; |157|
RL4: ; CALL OCCURS ; |157|
MVKL .S1 _externalControlPrev,A3 ; |158|
|| MVKL .S2 _externalControl,B4 ; |158|
MVKH .S1 _externalControlPrev,A3 ; |158|
|| MVKH .S2 _externalControl,B4 ; |158|
LDW .D1T1 *A3,A3 ; |158|
|| LDW .D2T2 *B4,B4 ; |158|
NOP 4
CMPEQ .L1X B4,A3,A0 ; |158|
[!A0] BNOP .S1 L1,2 ; |158|
[!A0] MVKL .S1 _MBX_post,A3 ; |136|
[!A0] MVKH .S1 _MBX_post,A3 ; |136|
NOP 1
; BRANCH OCCURS ; |158|
;** --------------------------------------------------------------------------*
B .S1 L3 ; |158|
MVKL .S1 _externalControlPrev+4,A3 ; |140|
MVKH .S1 _externalControlPrev+4,A3 ; |140|
|| MVKL .S2 _externalControl+4,B4 ; |140|
MVKH .S2 _externalControl+4,B4 ; |140|
LDW .D2T2 *B4,B4 ; |140|
|| MV .S2X A3,B6 ; |140|
LDW .D2T2 *B6,B5 ; |140|
; BRANCH OCCURS ; |158|
.sect ".text"
.global _thrControlInit
;******************************************************************************
;* FUNCTION NAME: _thrControlInit *
;* *
;* Regs Modified : A3,A4,A5,B4,B5 *
;* Regs Used : A3,A4,A5,B3,B4,B5 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_thrControlInit:
;** --------------------------------------------------------------------------*
MVKL .S2 _externalControl,B4 ; |50|
MVKH .S2 _externalControl,B4 ; |50|
|| MVK .S1 85,A4 ; |54|
STW .D2T1 A4,*+B4(4) ; |54|
|| MVKL .S1 _externalControl,A3 ; |55|
|| MVK .S2 1,B5 ; |50|
STW .D2T2 B5,*B4 ; |50|
|| MVKH .S1 _externalControl,A3 ; |55|
RETNOP .S2 B3,2 ; |56|
|| LDNDW .D1T1 *A3,A5:A4 ; |55|
MVKL .S2 _externalControlPrev,B4 ; |55|
MVKH .S2 _externalControlPrev,B4 ; |55|
STNDW .D2T1 A5:A4,*B4 ; |55|
; BRANCH OCCURS ; |56|
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _SEM_pend
.global _MBX_post
.global _TSK_timerSem
.global _mbxProcess