📄 thrcontrol.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC v6.0.8 *
;* Date/Time created: Mon Mar 10 23:01:51 2008 *
;******************************************************************************
.compiler_opts --c64p_l1d_workaround=default --endian=little --hll_source=on --mem_model:code=far --mem_model:data=far --predefine_memory_model_macros --quiet --silicon_version=6400 --symdebug:skeletal
;******************************************************************************
;* GLOBAL FILE PARAMETERS *
;* *
;* Architecture : TMS320C64xx *
;* Optimization : Enabled at level 3 *
;* Optimizing for : Speed *
;* Based on options: -o3, no -ms *
;* Endian : Little *
;* Interrupt Thrshld : Disabled *
;* Data Access Model : Far *
;* Pipelining : Enabled *
;* Speculate Loads : Disabled *
;* Memory Aliases : Presume not aliases (optimistic) *
;* Debug Info : DWARF Debug for Program Analysis w/Optimization *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
$C$DW$CU .dwtag DW_TAG_compile_unit
.dwattr $C$DW$CU, DW_AT_name("thrControl.c")
.dwattr $C$DW$CU, DW_AT_producer("TMS320C6x C/C++ Codegen PC v6.0.8 Copyright (c) 1996-2006 Texas Instruments Incorporated")
.dwattr $C$DW$CU, DW_AT_TI_version(0x01)
$C$DW$1 .dwtag DW_TAG_subprogram, DW_AT_name("SEM_pend")
.dwattr $C$DW$1, DW_AT_TI_symbol_name("_SEM_pend")
.dwattr $C$DW$1, DW_AT_type(*$C$DW$T$45)
.dwattr $C$DW$1, DW_AT_declaration
.dwattr $C$DW$1, DW_AT_external
$C$DW$2 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$47)
$C$DW$3 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$36)
.dwendtag $C$DW$1
$C$DW$4 .dwtag DW_TAG_subprogram, DW_AT_name("MBX_post")
.dwattr $C$DW$4, DW_AT_TI_symbol_name("_MBX_post")
.dwattr $C$DW$4, DW_AT_type(*$C$DW$T$45)
.dwattr $C$DW$4, DW_AT_declaration
.dwattr $C$DW$4, DW_AT_external
$C$DW$5 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$50)
$C$DW$6 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$42)
$C$DW$7 .dwtag DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$36)
.dwendtag $C$DW$4
$C$DW$8 .dwtag DW_TAG_variable, DW_AT_name("TSK_timerSem")
.dwattr $C$DW$8, DW_AT_TI_symbol_name("_TSK_timerSem")
.dwattr $C$DW$8, DW_AT_type(*$C$DW$T$34)
.dwattr $C$DW$8, DW_AT_declaration
.dwattr $C$DW$8, DW_AT_external
$C$DW$9 .dwtag DW_TAG_variable, DW_AT_name("mbxProcess")
.dwattr $C$DW$9, DW_AT_TI_symbol_name("_mbxProcess")
.dwattr $C$DW$9, DW_AT_type(*$C$DW$T$59)
.dwattr $C$DW$9, DW_AT_declaration
.dwattr $C$DW$9, DW_AT_external
.global _externalControl
_externalControl: .usect ".far",4,128
$C$DW$10 .dwtag DW_TAG_variable, DW_AT_name("externalControl")
.dwattr $C$DW$10, DW_AT_TI_symbol_name("_externalControl")
.dwattr $C$DW$10, DW_AT_location[DW_OP_addr _externalControl]
.dwattr $C$DW$10, DW_AT_type(*$C$DW$T$61)
.dwattr $C$DW$10, DW_AT_external
.global _externalControlPrev
_externalControlPrev: .usect ".far",4,4
$C$DW$11 .dwtag DW_TAG_variable, DW_AT_name("externalControlPrev")
.dwattr $C$DW$11, DW_AT_TI_symbol_name("_externalControlPrev")
.dwattr $C$DW$11, DW_AT_location[DW_OP_addr _externalControlPrev]
.dwattr $C$DW$11, DW_AT_type(*$C$DW$T$61)
.dwattr $C$DW$11, DW_AT_external
; C:\CCStudio_v3.3\C6000\cgtools\bin\opt6x.exe C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\012962 C:\\DOCUME~1\\ADMINI~1\\LOCALS~1\\Temp\\012964
.sect ".text"
.global _thrControlStartup
$C$DW$12 .dwtag DW_TAG_subprogram, DW_AT_name("thrControlStartup")
.dwattr $C$DW$12, DW_AT_low_pc(_thrControlStartup)
.dwattr $C$DW$12, DW_AT_high_pc(0x00)
.dwattr $C$DW$12, DW_AT_TI_symbol_name("_thrControlStartup")
.dwattr $C$DW$12, DW_AT_external
.dwattr $C$DW$12, DW_AT_TI_begin_file("thrControl.c")
.dwattr $C$DW$12, DW_AT_TI_begin_line(0x45)
.dwattr $C$DW$12, DW_AT_TI_begin_column(0x06)
.dwattr $C$DW$12, DW_AT_frame_base[DW_OP_breg31 24]
.dwattr $C$DW$12, DW_AT_TI_skeletal
.dwpsn file "thrControl.c",line 70,column 1,is_stmt,address _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 ; |84|
|| MVKL .S1 _externalControl,A3
MVKH .S2 _MBX_post,B5 ; |84|
|| MVKH .S1 _externalControl,A3
|| STW .D2T2 B3,*SP--(24) ; |70|
CALL .S2 B5 ; |84|
|| LDW .D1T1 *A3,A3 ; |81|
MVK .L1 1,A4 ; |78|
STW .D2T1 A4,*+SP(4) ; |78|
|| MVKL .S2 _mbxProcess,B6
|| ZERO .L2 B4 ; |79|
STW .D2T2 B4,*+SP(8) ; |79|
|| MVKH .S2 _mbxProcess,B6
STW .D2T2 B4,*+SP(12) ; |80|
ADDKPC .S2 $C$RL0,B3,0 ; |84|
|| STW .D2T1 A3,*+SP(16) ; |81|
|| MV .L1X B6,A4 ; |84|
|| ADD .L2 4,SP,B4 ; |84|
|| ZERO .S1 A6 ; |84|
$C$RL0: ; CALL OCCURS {_MBX_post} ; |84|
;** --------------------------------------------------------------------------*
LDW .D2T2 *++SP(24),B3 ; |86|
NOP 4
.dwpsn file "thrControl.c",line 86,column 1,is_stmt
RETNOP .S2 B3,5 ; |86|
; BRANCH OCCURS {B3} ; |86|
.dwattr $C$DW$12, DW_AT_TI_end_file("thrControl.c")
.dwattr $C$DW$12, DW_AT_TI_end_line(0x56)
.dwattr $C$DW$12, DW_AT_TI_end_column(0x01)
.dwendtag $C$DW$12
.sect ".text"
.global _thrControlSet
$C$DW$13 .dwtag DW_TAG_subprogram, DW_AT_name("thrControlSet")
.dwattr $C$DW$13, DW_AT_low_pc(_thrControlSet)
.dwattr $C$DW$13, DW_AT_high_pc(0x00)
.dwattr $C$DW$13, DW_AT_TI_symbol_name("_thrControlSet")
.dwattr $C$DW$13, DW_AT_external
.dwattr $C$DW$13, DW_AT_TI_begin_file("thrControl.c")
.dwattr $C$DW$13, DW_AT_TI_begin_line(0x38)
.dwattr $C$DW$13, DW_AT_TI_begin_column(0x06)
.dwattr $C$DW$13, DW_AT_frame_base[DW_OP_breg31 0]
.dwattr $C$DW$13, DW_AT_TI_skeletal
.dwpsn file "thrControl.c",line 57,column 1,is_stmt,address _thrControlSet
;******************************************************************************
;* FUNCTION NAME: thrControlSet *
;* *
;* Regs Modified : A3 *
;* Regs Used : A3,A4,B3 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_thrControlSet:
;** --------------------------------------------------------------------------*
$C$DW$14 .dwtag DW_TAG_formal_parameter, DW_AT_name("Quality")
.dwattr $C$DW$14, DW_AT_TI_symbol_name("_Quality")
.dwattr $C$DW$14, DW_AT_type(*$C$DW$T$10)
.dwattr $C$DW$14, DW_AT_location[DW_OP_reg4]
RETNOP .S2 B3,2 ; |62|
MVKL .S1 _externalControl,A3
MVKH .S1 _externalControl,A3
.dwpsn file "thrControl.c",line 62,column 1,is_stmt
STW .D1T1 A4,*A3 ; |58|
; BRANCH OCCURS {B3} ; |62|
.dwattr $C$DW$13, DW_AT_TI_end_file("thrControl.c")
.dwattr $C$DW$13, DW_AT_TI_end_line(0x3e)
.dwattr $C$DW$13, DW_AT_TI_end_column(0x01)
.dwendtag $C$DW$13
.sect ".text"
.global _thrControlRun
$C$DW$15 .dwtag DW_TAG_subprogram, DW_AT_name("thrControlRun")
.dwattr $C$DW$15, DW_AT_low_pc(_thrControlRun)
.dwattr $C$DW$15, DW_AT_high_pc(0x00)
.dwattr $C$DW$15, DW_AT_TI_symbol_name("_thrControlRun")
.dwattr $C$DW$15, DW_AT_external
.dwattr $C$DW$15, DW_AT_TI_begin_file("thrControl.c")
.dwattr $C$DW$15, DW_AT_TI_begin_line(0x5d)
.dwattr $C$DW$15, DW_AT_TI_begin_column(0x06)
.dwattr $C$DW$15, DW_AT_frame_base[DW_OP_breg31 40]
.dwattr $C$DW$15, DW_AT_TI_skeletal
.dwpsn file "thrControl.c",line 94,column 1,is_stmt,address _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,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 *
;* 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,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 + 20 Save = 36 byte *
;******************************************************************************
_thrControlRun:
;** --------------------------------------------------------------------------*
MV .L1X SP,A31 ; |94|
|| STW .D2T2 B13,*SP--(40) ; |94|
STDW .D2T2 B11:B10,*+SP(32) ; |94|
|| MVKL .S2 _externalControl,B11
STDW .D1T1 A11:A10,*-A31(16) ; |94|
|| MVKL .S1 _externalControlPrev,A11
|| MVKH .S2 _externalControl,B11
MVKH .S1 _externalControlPrev,A11
|| LDW .D2T2 *B11,B4
LDW .D1T1 *A11,A3
NOP 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -