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