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

📄 thrcontrol.asm

📁 DSP的一个应用程序
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;******************************************************************************
;* 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 + -