⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thrcontrol.asm

📁 dm642通过网络接收烧写文件
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                          PC v5.1.0 *
;* Date/Time created: Mon Aug 13 17:31:50 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$56)
	.dwattr DW$9, DW_AT_declaration(0x01)
	.dwattr DW$9, DW_AT_external(0x01)
	.global	_externalControl
_externalControl:	.usect	".far",4,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$58)
	.dwattr DW$10, DW_AT_external(0x01)
	.global	_externalControlPrev
_externalControlPrev:	.usect	".far",4,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$58)
	.dwattr DW$11, DW_AT_external(0x01)
;	C:\CCStudio_v3.1\C6000\cgtools\bin\opt6x.exe C:\DOCUME~1\new\LOCALS~1\Temp\TI8402 C:\DOCUME~1\new\LOCALS~1\Temp\TI8404 
	.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(0x45)
	.dwattr DW$12, DW_AT_begin_column(0x06)
	.dwattr DW$12, DW_AT_frame_base[DW_OP_breg31 24]
	.dwattr DW$12, DW_AT_skeletal(0x01)
	.dwpsn	"thrControl.c",70,1

;******************************************************************************
;* 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 ; |81| 

           MVKH    .S2     _MBX_post,B5      ; |84| 
||         MVKH    .S1     _externalControl,A3 ; |81| 
||         STW     .D2T2   B3,*SP--(24)      ; |70| 

           CALL    .S2     B5                ; |84| 
||         LDW     .D1T1   *A3,A5            ; |81| 

           ZERO    .L2     B6                ; |79| 

           STW     .D2T2   B6,*+SP(8)        ; |79| 
||         MVKL    .S2     _mbxProcess,B4    ; |84| 

           STW     .D2T2   B6,*+SP(12)       ; |80| 
||         MVK     .L1     1,A3              ; |78| 
||         MVKH    .S2     _mbxProcess,B4    ; |84| 

           STW     .D2T1   A3,*+SP(4)        ; |78| 

           ADDKPC  .S2     RL0,B3,0          ; |84| 
||         STW     .D2T1   A5,*+SP(16)       ; |81| 
||         ADD     .L2     4,SP,B4           ; |84| 
||         MV      .L1X    B4,A4             ; |84| 
||         ZERO    .S1     A6                ; |84| 

RL0:       ; CALL OCCURS {_MBX_post}         ; |84| 
;** --------------------------------------------------------------------------*
           LDW     .D2T2   *++SP(24),B3      ; |86| 
           NOP             4
	.dwpsn	"thrControl.c",86,1
           RETNOP  .S2     B3,5              ; |86| 
           ; BRANCH OCCURS {B3}              ; |86| 
	.dwattr DW$12, DW_AT_end_file("thrControl.c")
	.dwattr DW$12, DW_AT_end_line(0x56)
	.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(0x38)
	.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",57,1

;******************************************************************************
;* FUNCTION NAME: _thrControlSet                                              *
;*                                                                            *
;*   Regs Modified     : A3                                                   *
;*   Regs Used         : A3,A4,B3                                             *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_thrControlSet:
;** --------------------------------------------------------------------------*
DW$14	.dwtag  DW_TAG_formal_parameter, DW_AT_name("Quality"), DW_AT_symbol_name("_Quality")
	.dwattr DW$14, DW_AT_type(*DW$T$10)
	.dwattr DW$14, DW_AT_location[DW_OP_reg4]
           RETNOP  .S2     B3,2              ; |62| 
           MVKL    .S1     _externalControl,A3 ; |58| 
           MVKH    .S1     _externalControl,A3 ; |58| 
	.dwpsn	"thrControl.c",62,1
           STW     .D1T1   A4,*A3            ; |58| 
           ; BRANCH OCCURS {B3}              ; |62| 
	.dwattr DW$13, DW_AT_end_file("thrControl.c")
	.dwattr DW$13, DW_AT_end_line(0x3e)
	.dwattr DW$13, DW_AT_end_column(0x01)
	.dwendtag DW$13

	.sect	".text"
	.global	_thrControlRun

DW$15	.dwtag  DW_TAG_subprogram, DW_AT_name("thrControlRun"), DW_AT_symbol_name("_thrControlRun")
	.dwattr DW$15, DW_AT_low_pc(_thrControlRun)
	.dwattr DW$15, DW_AT_high_pc(0x00)
	.dwattr DW$15, DW_AT_begin_file("thrControl.c")
	.dwattr DW$15, DW_AT_begin_line(0x5d)
	.dwattr DW$15, DW_AT_begin_column(0x06)
	.dwattr DW$15, DW_AT_frame_base[DW_OP_breg31 32]
	.dwattr DW$15, DW_AT_skeletal(0x01)
	.dwpsn	"thrControl.c",94,1

;******************************************************************************
;* 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    .S1     _externalControlPrev,A3
||         MVKL    .S2     _externalControl,B4
||         STW     .D2T1   A10,*SP--(32)     ; |94| 

           MVKH    .S1     _externalControlPrev,A3
||         MVKH    .S2     _externalControl,B4
||         STDW    .D2T2   B11:B10,*+SP(24)  ; |94| 

           LDW     .D1T1   *A3,A3
||         LDW     .D2T2   *B4,B4

           NOP             4
           CMPEQ   .L1X    B4,A3,A0

   [ A0]   MVKL    .S1     _TSK_timerSem,A10
|| [ A0]   B       .S2     L3

   [ A0]   MVKH    .S1     _TSK_timerSem,A10
|| [!A0]   MVKL    .S2     _MBX_post,B5      ; |118| 

   [!A0]   MVKL    .S1     _externalControlPrev,A3 ; |110| 
|| [!A0]   MVKH    .S2     _MBX_post,B5      ; |118| 

   [ A0]   MVK     .S2     0x1f4,B10
   [ A0]   MVKL    .S2     _SEM_pend,B5      ; |103| 
   [ A0]   MVKH    .S2     _SEM_pend,B5      ; |103| 
           ; BRANCHCC OCCURS {L3} 
;** --------------------------------------------------------------------------*

           MVKH    .S1     _externalControlPrev,A3 ; |110| 
||         CALL    .S2     B5                ; |118| 
||         ZERO    .L2     B31               ; |115| 

           STW     .D1T2   B4,*A3            ; |110| 
||         MVK     .L1     1,A3              ; |114| 
||         MVKL    .S1     _mbxProcess,A4

;** --------------------------------------------------------------------------*
L1:    
           STW     .D2T1   A3,*+SP(4)        ; |114| 
           STW     .D2T2   B31,*+SP(8)       ; |115| 
           STW     .D2T2   B31,*+SP(12)      ; |116| 

           STW     .D2T2   B4,*+SP(16)       ; |117| 
||         ADDKPC  .S2     RL1,B3,0          ; |118| 
||         ZERO    .L1     A6                ; |118| 
||         MVKH    .S1     _mbxProcess,A4
||         ADD     .L2     4,SP,B4           ; |118| 

RL1:       ; CALL OCCURS {_MBX_post}         ; |118| 

           MVKL    .S1     _TSK_timerSem,A10
||         MVKL    .S2     _SEM_pend,B5      ; |103| 

           MVKH    .S1     _TSK_timerSem,A10
||         MVK     .S2     0x1f4,B10

;** --------------------------------------------------------------------------*
L2:    
           MVKH    .S2     _SEM_pend,B5      ; |103| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains control code
;*----------------------------------------------------------------------------*
L3:    
           CALL    .S2     B5                ; |103| 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -