📄 thrcontrol.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.36 *
;* Date/Time created: Mon Dec 13 12:16:42 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",4,128
.global _externalControlPrev
_externalControlPrev: .usect ".far",4,4
; c:\ti\c6000\cgtools\bin\opt6x.exe -t -DI0 -v6400 -q -O3 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI1416_2 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI1416_5 -w D:/Work/ICETEK-DM642-PCI/Lab/Lab538-JPEGNetWork/obj/
.sect ".text"
.global _thrControlStartup
;******************************************************************************
;* FUNCTION NAME: _thrControlStartup *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,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,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,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 + 4 Save = 20 byte *
;******************************************************************************
_thrControlStartup:
;** --------------------------------------------------------------------------*
MVKL .S2 _MBX_post,B5 ; |90|
|| MVKL .S1 _externalControl,A3 ; |87|
MVKH .S2 _MBX_post,B5 ; |90|
|| MVKH .S1 _externalControl,A3 ; |87|
CALL .S2 B5 ; |90|
|| LDW .D1T1 *A3,A3 ; |87|
STW .D2T2 B3,*SP--(24) ; |76|
|| ZERO .S2 B6 ; |84|
STW .D2T2 B6,*+SP(4) ; |84|
|| MVKL .S2 _mbxProcess,B4 ; |90|
STW .D2T2 B6,*+SP(8) ; |85|
|| MVKH .S2 _mbxProcess,B4 ; |90|
STW .D2T2 B6,*+SP(12) ; |86|
ADDKPC .S2 RL0,B3,0 ; |90|
|| STW .D2T1 A3,*+SP(16) ; |87|
|| ADD .L2 4,SP,B4 ; |90|
|| MV .D1X B4,A4 ; |90|
|| ZERO .S1 A6 ; |90|
RL0: ; CALL OCCURS ; |90|
LDW .D2T2 *++SP(24),B3 ; |92|
NOP 4
RETNOP .S2 B3,5 ; |92|
; BRANCH OCCURS ; |92|
.sect ".text"
.global _thrControlSet
;******************************************************************************
;* FUNCTION NAME: _thrControlSet *
;* *
;* Regs Modified : A3,A4,B0 *
;* Regs Used : A3,A4,B0,B3 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_thrControlSet:
;** --------------------------------------------------------------------------*
RETNOP .S2 B3,2 ; |68|
SUB .D1 A4,10,A4 ; |58|
|| MVKL .S1 _externalControl,A3 ; |67|
|| CMPGT .L2X A4,10,B0 ; |58|
[!B0] MVK .D1 0x1,A4 ; |64|
|| MVKH .S1 _externalControl,A3 ; |67|
STW .D1T1 A4,*A3 ; |67|
; BRANCH OCCURS ; |68|
.sect ".text"
.global _thrControlRun
;******************************************************************************
;* FUNCTION NAME: _thrControlRun *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,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,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,B10,B11,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 + 12 Save = 28 byte *
;******************************************************************************
_thrControlRun:
;** --------------------------------------------------------------------------*
MVKL .S2 _externalControl,B4 ; |105|
|| MVKL .S1 _externalControlPrev,A3 ; |105|
MVKH .S2 _externalControl,B4 ; |105|
|| MVKH .S1 _externalControlPrev,A3 ; |105|
LDW .D2T2 *B4,B5 ; |105|
|| LDW .D1T1 *A3,A3 ; |105|
NOP 4
CMPEQ .L1X B5,A3,A0 ; |105|
[ A0] B .S1 L2 ; |105|
STW .D2T1 A10,*SP--(32) ; |100|
[ A0] MVKL .S1 _TSK_timerSem,A10
|| STDW .D2T2 B11:B10,*+SP(24) ; |100|
[ A0] MVK .S2 0x64,B10
|| [ A0] MVKH .S1 _TSK_timerSem,A10
[ A0] MVKL .S2 _SEM_pend,B5 ; |129|
[ A0] MVKH .S2 _SEM_pend,B5 ; |129|
; BRANCH OCCURS ; |105|
;** --------------------------------------------------------------------------*
MVKL .S2 _MBX_post,B6 ; |124|
MVKH .S2 _MBX_post,B6 ; |124|
;** --------------------------------------------------------------------------*
L1:
CALL .S2 B6 ; |124|
STW .D2T2 B5,*+SP(16) ; |123|
|| ZERO .S2 B4 ; |120|
STW .D2T2 B4,*+SP(8) ; |121|
|| MVKL .S1 _externalControlPrev,A3 ; |116|
STW .D2T2 B4,*+SP(12) ; |122|
|| MVKL .S1 _mbxProcess,A4
MVKH .S1 _externalControlPrev,A3 ; |116|
|| STW .D2T2 B4,*+SP(4) ; |120|
ADDKPC .S2 RL1,B3,0 ; |124|
|| ADD .D2 4,SP,B4 ; |124|
|| STW .D1T2 B5,*A3 ; |116|
|| MVKH .S1 _mbxProcess,A4
|| ZERO .L1 A6 ; |124|
RL1: ; CALL OCCURS ; |124|
MVKL .S1 _TSK_timerSem,A10
MVKH .S1 _TSK_timerSem,A10
|| MVK .S2 0x64,B10
MVKL .S2 _SEM_pend,B5 ; |129|
MVKH .S2 _SEM_pend,B5 ; |129|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains control code
;*----------------------------------------------------------------------------*
L2:
CALL .S2 B5 ; |129|
ADDKPC .S2 RL2,B3,2 ; |129|
MV .D2 B10,B4 ; |129|
MV .D1 A10,A4 ; |129|
RL2: ; CALL OCCURS ; |129|
MVKL .S1 _externalControlPrev,A3 ; |130|
|| MVKL .S2 _externalControl,B4 ; |130|
MVKH .S1 _externalControlPrev,A3 ; |130|
|| MVKH .S2 _externalControl,B4 ; |130|
LDW .D1T1 *A3,A3 ; |130|
|| LDW .D2T2 *B4,B5 ; |130|
NOP 4
CMPEQ .L1X B5,A3,A0 ; |130|
[!A0] BNOP .S1 L1,3 ; |130|
[!A0] MVKL .S2 _MBX_post,B6 ; |124|
[!A0] MVKH .S2 _MBX_post,B6 ; |124|
; BRANCH OCCURS ; |130|
;** --------------------------------------------------------------------------*
BNOP .S1 L2,3 ; |130|
MVKL .S2 _SEM_pend,B5 ; |129|
MVKH .S2 _SEM_pend,B5 ; |129|
; BRANCH OCCURS ; |130|
.sect ".text"
.global _thrControlInit
;******************************************************************************
;* FUNCTION NAME: _thrControlInit *
;* *
;* Regs Modified : A3,A4,B4 *
;* Regs Used : A3,A4,B3,B4 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_thrControlInit:
;** --------------------------------------------------------------------------*
MVK .S1 85,A4 ; |49|
|| MVKL .S2 _externalControl,B4 ; |49|
MVKH .S2 _externalControl,B4 ; |49|
|| MVKL .S1 _externalControl,A3 ; |53|
STW .D2T1 A4,*B4 ; |49|
|| MVKH .S1 _externalControl,A3 ; |53|
RETNOP .S2 B3,2 ; |54|
|| LDW .D1T1 *A3,A3 ; |53|
MVKL .S2 _externalControlPrev,B4 ; |53|
MVKH .S2 _externalControlPrev,B4 ; |53|
STW .D2T1 A3,*B4 ; |53|
; BRANCH OCCURS ; |54|
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _SEM_pend
.global _MBX_post
.global _TSK_timerSem
.global _mbxProcess
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -