📄 thrcontrol.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC v5.1.0 *
;* Date/Time created: Mon Sep 03 15:27:54 2007 *
;******************************************************************************
.compiler_opts --endian=little --mem_model:code=far --mem_model:data=far --predefine_memory_model_macros --quiet --silicon_version=6400
;******************************************************************************
;* 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 : Optimized w/Profiling Info *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
DW$CU .dwtag DW_TAG_compile_unit
.dwattr DW$CU, DW_AT_name("thrControl.c")
.dwattr DW$CU, DW_AT_producer("TMS320C6x C/C++ Codegen PC v5.1.0 Copyright (c) 1996-2005 Texas Instruments Incorporated")
.dwattr DW$CU, DW_AT_stmt_list(0x00)
.dwattr DW$CU, DW_AT_TI_VERSION(0x01)
DW$1 .dwtag DW_TAG_subprogram, DW_AT_name("SEM_pend"), DW_AT_symbol_name("_SEM_pend")
.dwattr DW$1, DW_AT_type(*DW$T$42)
.dwattr DW$1, DW_AT_declaration(0x01)
.dwattr DW$1, DW_AT_external(0x01)
DW$2 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$44)
DW$3 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$32)
.dwendtag DW$1
DW$4 .dwtag DW_TAG_subprogram, DW_AT_name("MBX_post"), DW_AT_symbol_name("_MBX_post")
.dwattr DW$4, DW_AT_type(*DW$T$42)
.dwattr DW$4, DW_AT_declaration(0x01)
.dwattr DW$4, DW_AT_external(0x01)
DW$5 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$47)
DW$6 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$38)
DW$7 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$32)
.dwendtag DW$4
DW$8 .dwtag DW_TAG_variable, DW_AT_name("TSK_timerSem"), DW_AT_symbol_name("_TSK_timerSem")
.dwattr DW$8, DW_AT_type(*DW$T$31)
.dwattr DW$8, DW_AT_declaration(0x01)
.dwattr DW$8, DW_AT_external(0x01)
DW$9 .dwtag DW_TAG_variable, DW_AT_name("mbxProcess"), DW_AT_symbol_name("_mbxProcess")
.dwattr DW$9, DW_AT_type(*DW$T$58)
.dwattr DW$9, DW_AT_declaration(0x01)
.dwattr DW$9, DW_AT_external(0x01)
.global _externalControl
_externalControl: .usect ".far",8,128
DW$10 .dwtag DW_TAG_variable, DW_AT_name("externalControl"), DW_AT_symbol_name("_externalControl")
.dwattr DW$10, DW_AT_location[DW_OP_addr _externalControl]
.dwattr DW$10, DW_AT_type(*DW$T$60)
.dwattr DW$10, DW_AT_external(0x01)
.global _externalControlPrev
_externalControlPrev: .usect ".far",8,4
DW$11 .dwtag DW_TAG_variable, DW_AT_name("externalControlPrev"), DW_AT_symbol_name("_externalControlPrev")
.dwattr DW$11, DW_AT_location[DW_OP_addr _externalControlPrev]
.dwattr DW$11, DW_AT_type(*DW$T$60)
.dwattr DW$11, DW_AT_external(0x01)
; D:\CCStudio_v3.1\C6000\cgtools\bin\opt6x.exe C:\DOCUME~1\Huangjin\LOCALS~1\Temp\TI2442 C:\DOCUME~1\Huangjin\LOCALS~1\Temp\TI2444
.sect ".text"
.global _thrControlStartup
DW$12 .dwtag DW_TAG_subprogram, DW_AT_name("thrControlStartup"), DW_AT_symbol_name("_thrControlStartup")
.dwattr DW$12, DW_AT_low_pc(_thrControlStartup)
.dwattr DW$12, DW_AT_high_pc(0x00)
.dwattr DW$12, DW_AT_begin_file("thrControl.c")
.dwattr DW$12, DW_AT_begin_line(0x48)
.dwattr DW$12, DW_AT_begin_column(0x06)
.dwattr DW$12, DW_AT_frame_base[DW_OP_breg31 32]
.dwattr DW$12, DW_AT_skeletal(0x01)
.dwpsn "thrControl.c",73,1
;******************************************************************************
;* 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 _MBX_post,A3 ; |86|
MVKL .S1 _externalControl,A10 ; |83|
|| STW .D2T1 A10,*SP--(32) ; |73|
MVKH .S1 _MBX_post,A3 ; |86|
MVKH .S1 _externalControl,A10 ; |83|
CALL .S2X A3 ; |86|
|| LDW .D1T1 *A10,A5 ; |83|
STDW .D2T2 B11:B10,*+SP(24) ; |73|
STW .D2T2 B13,*+SP(20) ; |73|
|| MVKL .S2 _mbxProcess,B11 ; |86|
|| ZERO .L2 B10 ; |81|
STW .D2T2 B10,*+SP(4) ; |81|
|| MVKH .S2 _mbxProcess,B11 ; |86|
STW .D2T2 B10,*+SP(8) ; |82|
|| ADD .L2 4,SP,B4 ; |86|
ADDKPC .S2 RL0,B3,0 ; |86|
|| STW .D2T1 A5,*+SP(12) ; |83|
|| MV .L1X B11,A4 ; |86|
|| MV .L2 B3,B13 ; |73|
|| ZERO .S1 A6 ; |86|
RL0: ; CALL OCCURS {_MBX_post} ; |86|
;** --------------------------------------------------------------------------*
MVKL .S2 _MBX_post,B5 ; |95|
MVKH .S2 _MBX_post,B5 ; |95|
CALL .S2 B5 ; |95|
|| LDW .D1T1 *+A10(4),A3 ; |92|
STW .D2T2 B10,*+SP(8) ; |90|
STW .D2T2 B10,*+SP(12) ; |91|
MVK .L2 1,B4 ; |89|
STW .D2T2 B4,*+SP(4) ; |89|
ADDKPC .S2 RL1,B3,0 ; |95|
|| STW .D2T1 A3,*+SP(16) ; |92|
|| ADD .L2 4,SP,B4 ; |95|
|| ZERO .L1 A6 ; |95|
|| MV .S1X B11,A4 ; |86|
RL1: ; CALL OCCURS {_MBX_post} ; |95|
;** --------------------------------------------------------------------------*
LDDW .D2T2 *+SP(24),B11:B10 ; |97|
|| MV .L2 B13,B3 ; |97|
RET .S2 B3 ; |97|
|| LDW .D2T2 *+SP(20),B13 ; |97|
LDW .D2T1 *++SP(32),A10 ; |97|
.dwpsn "thrControl.c",97,1
NOP 4
; BRANCH OCCURS {B3} ; |97|
.dwattr DW$12, DW_AT_end_file("thrControl.c")
.dwattr DW$12, DW_AT_end_line(0x61)
.dwattr DW$12, DW_AT_end_column(0x01)
.dwendtag DW$12
.sect ".text"
.global _thrControlSet
DW$13 .dwtag DW_TAG_subprogram, DW_AT_name("thrControlSet"), DW_AT_symbol_name("_thrControlSet")
.dwattr DW$13, DW_AT_low_pc(_thrControlSet)
.dwattr DW$13, DW_AT_high_pc(0x00)
.dwattr DW$13, DW_AT_begin_file("thrControl.c")
.dwattr DW$13, DW_AT_begin_line(0x3a)
.dwattr DW$13, DW_AT_begin_column(0x06)
.dwattr DW$13, DW_AT_frame_base[DW_OP_breg31 0]
.dwattr DW$13, DW_AT_skeletal(0x01)
.dwpsn "thrControl.c",59,1
;******************************************************************************
;* FUNCTION NAME: _thrControlSet *
;* *
;* Regs Modified : A3 *
;* Regs Used : A3,A4,B3,B4 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_thrControlSet:
;** --------------------------------------------------------------------------*
DW$14 .dwtag DW_TAG_formal_parameter, DW_AT_name("FrameRatio"), DW_AT_symbol_name("_FrameRatio")
.dwattr DW$14, DW_AT_type(*DW$T$10)
.dwattr DW$14, DW_AT_location[DW_OP_reg4]
DW$15 .dwtag DW_TAG_formal_parameter, DW_AT_name("Quality"), DW_AT_symbol_name("_Quality")
.dwattr DW$15, DW_AT_type(*DW$T$10)
.dwattr DW$15, DW_AT_location[DW_OP_reg20]
RETNOP .S2 B3,1 ; |65|
MVKL .S1 _externalControl,A3 ; |60|
MVKH .S1 _externalControl,A3 ; |60|
STW .D1T1 A4,*A3 ; |60|
.dwpsn "thrControl.c",65,1
STW .D1T2 B4,*+A3(4) ; |64|
; BRANCH OCCURS {B3} ; |65|
.dwattr DW$13, DW_AT_end_file("thrControl.c")
.dwattr DW$13, DW_AT_end_line(0x41)
.dwattr DW$13, DW_AT_end_column(0x01)
.dwendtag DW$13
.sect ".text"
.global _thrControlRun
DW$16 .dwtag DW_TAG_subprogram, DW_AT_name("thrControlRun"), DW_AT_symbol_name("_thrControlRun")
.dwattr DW$16, DW_AT_low_pc(_thrControlRun)
.dwattr DW$16, DW_AT_high_pc(0x00)
.dwattr DW$16, DW_AT_begin_file("thrControl.c")
.dwattr DW$16, DW_AT_begin_line(0x68)
.dwattr DW$16, DW_AT_begin_column(0x06)
.dwattr DW$16, DW_AT_frame_base[DW_OP_breg31 32]
.dwattr DW$16, DW_AT_skeletal(0x01)
.dwpsn "thrControl.c",105,1
;******************************************************************************
;* 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 .S1 _externalControlPrev,A3
|| MVKL .S2 _externalControl,B4
|| STW .D2T2 B10,*SP--(32) ; |105|
MVKH .S1 _externalControlPrev,A3
|| MVKH .S2 _externalControl,B4
|| STW .D2T2 B13,*+SP(20) ; |105|
STDW .D2T1 A11:A10,*+SP(24) ; |105|
|| MVKL .S2 _mbxProcess,B5
LDW .D1T1 *A3,A3
|| LDW .D2T2 *B4,B4
|| MVKH .S2 _mbxProcess,B5
NOP 3
MV .L1X B5,A10
CMPEQ .L1X B4,A3,A0
[ A0] MVKL .S2 _mbxProcess,B4
|| [ A0] B .S1 L3
[ A0] MVKL .S1 _TSK_timerSem,A11
|| [ A0] MVKH .S2 _mbxProcess,B4
[ A0] MVK .S2 0x64,B10
|| [!A0] MVKL .S1 _MBX_post,A3 ; |130|
[ A0] MVKL .S2 _externalControl+4,B4 ; |134|
|| [ A0] MV .L1X B4,A10
|| [ A0] MVKH .S1 _TSK_timerSem,A11
[ A0] MVKH .S2 _externalControl+4,B4 ; |134|
|| [!A0] MVKH .S1 _MBX_post,A3 ; |130|
[!A0] MVKL .S2 _externalControlPrev,B5 ; |123|
|| [ A0] MVKL .S1 _externalControlPrev+4,A3 ; |134|
; BRANCHCC OCCURS {L3}
;** --------------------------------------------------------------------------*
MVKH .S2 _externalControlPrev,B5 ; |123|
|| ZERO .L2 B31 ; |127|
CALL .S2X A3 ; |130|
|| STW .D2T2 B4,*B5 ; |123|
NOP 1
;** --------------------------------------------------------------------------*
L1:
STW .D2T2 B31,*+SP(4) ; |127|
STW .D2T2 B31,*+SP(8) ; |128|
STW .D2T2 B4,*+SP(12) ; |129|
ADD .L2 4,SP,B4 ; |130|
|| MV .L1 A10,A4 ; |130|
|| ZERO .S1 A6 ; |130|
|| ADDKPC .S2 RL2,B3,0 ; |130|
RL2: ; CALL OCCURS {_MBX_post} ; |130|
MVKL .S2 _mbxProcess,B4
|| MVKL .S1 _TSK_timerSem,A11
MVKH .S2 _mbxProcess,B4
|| MVKL .S1 _externalControlPrev+4,A3 ; |134|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -