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

📄 thrcontrol.asm

📁 这是DM642(EVM开发板)的视频采集和视频输出到网络调用的一个很好的例子原代码,用CCS3.3可以打开,调试通过.
💻 ASM
📖 第 1 页 / 共 4 页
字号:
           CMPEQ   .L1X    B4,A3,A0

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

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

   [!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 {$C$L3} 
;** --------------------------------------------------------------------------*

           MVK     .L1     1,A3              ; |114| 
||         MVKL    .S1     _mbxProcess,A4
||         ZERO    .L2     B31               ; |115| 
||         CALL    .S2     B5                ; |118| 

           STW     .D1T2   B4,*A11           ; |110| 
;** --------------------------------------------------------------------------*
$C$L1:    
           STW     .D2T2   B31,*+SP(8)       ; |115| 
           STW     .D2T1   A3,*+SP(4)        ; |114| 
           STW     .D2T2   B31,*+SP(12)      ; |116| 

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

$C$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

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

           MV      .L1     A10,A4            ; |103| 
||         MV      .L2     B10,B4            ; |103| 

$C$RL2:    ; CALL OCCURS {_SEM_pend}         ; |103| 
;** --------------------------------------------------------------------------*

           MV      .L2     B11,B4            ; |103| 
||         MV      .L1     A11,A3            ; |99| 

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

           MVKL    .S2     _MBX_post,B5      ; |118| 
           MVKH    .S2     _MBX_post,B5      ; |118| 
           NOP             2
           CMPEQ   .L1X    B4,A3,A0          ; |99| 

   [!A0]   ZERO    .L2     B31               ; |115| 
|| [!A0]   STW     .D1T2   B4,*A11           ; |110| 
|| [!A0]   MVK     .L1     1,A3              ; |114| 
|| [!A0]   B       .S1     $C$L1             ; |99| 

   [ A0]   BNOP    .S1     $C$L2,2           ; |99| 
   [!A0]   CALL    .S2     B5                ; |118| 
   [!A0]   MVKL    .S1     _mbxProcess,A4
           ; BRANCHCC OCCURS {$C$L1}         ; |99| 
;** --------------------------------------------------------------------------*
	.dwpsn	file "thrControl.c",line 125,column 1,is_stmt
           MVKL    .S2     _SEM_pend,B5      ; |103| 
           ; BRANCH OCCURS {$C$L2}           ; |99| 
	.dwattr $C$DW$15, DW_AT_TI_end_file("thrControl.c")
	.dwattr $C$DW$15, DW_AT_TI_end_line(0x7d)
	.dwattr $C$DW$15, DW_AT_TI_end_column(0x01)
	.dwendtag $C$DW$15

	.sect	".text"
	.global	_thrControlInit

$C$DW$16	.dwtag  DW_TAG_subprogram, DW_AT_name("thrControlInit")
	.dwattr $C$DW$16, DW_AT_low_pc(_thrControlInit)
	.dwattr $C$DW$16, DW_AT_high_pc(0x00)
	.dwattr $C$DW$16, DW_AT_TI_symbol_name("_thrControlInit")
	.dwattr $C$DW$16, DW_AT_external
	.dwattr $C$DW$16, DW_AT_TI_begin_file("thrControl.c")
	.dwattr $C$DW$16, DW_AT_TI_begin_line(0x2f)
	.dwattr $C$DW$16, DW_AT_TI_begin_column(0x06)
	.dwattr $C$DW$16, DW_AT_frame_base[DW_OP_breg31 0]
	.dwattr $C$DW$16, DW_AT_TI_skeletal
	.dwpsn	file "thrControl.c",line 48,column 1,is_stmt,address _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:
;** --------------------------------------------------------------------------*
           MVKL    .S1     _externalControl,A3
           MVK     .S1     100,A4            ; |49| 
           MVKH    .S1     _externalControl,A3
           STW     .D1T1   A4,*A3            ; |49| 

           RETNOP  .S2     B3,2              ; |54| 
||         LDW     .D1T1   *A3,A3            ; |53| 

           MVKL    .S2     _externalControlPrev,B4
           MVKH    .S2     _externalControlPrev,B4
	.dwpsn	file "thrControl.c",line 54,column 1,is_stmt
           STW     .D2T1   A3,*B4            ; |53| 
           ; BRANCH OCCURS {B3}              ; |54| 
	.dwattr $C$DW$16, DW_AT_TI_end_file("thrControl.c")
	.dwattr $C$DW$16, DW_AT_TI_end_line(0x36)
	.dwattr $C$DW$16, DW_AT_TI_end_column(0x01)
	.dwendtag $C$DW$16

;*****************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                             *
;*****************************************************************************
	.global	_SEM_pend
	.global	_MBX_post
	.global	_TSK_timerSem
	.global	_mbxProcess

;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************
$C$DW$T$3	.dwtag  DW_TAG_pointer_type
	.dwattr $C$DW$T$3, DW_AT_address_class(0x20)
$C$DW$T$42	.dwtag  DW_TAG_typedef, DW_AT_name("Ptr")
	.dwattr $C$DW$T$42, DW_AT_type(*$C$DW$T$3)
	.dwattr $C$DW$T$42, DW_AT_language(DW_LANG_C)

$C$DW$T$25	.dwtag  DW_TAG_subroutine_type
	.dwattr $C$DW$T$25, DW_AT_language(DW_LANG_C)
$C$DW$17	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$24)
	.dwendtag $C$DW$T$25

$C$DW$T$26	.dwtag  DW_TAG_pointer_type, DW_AT_type(*$C$DW$T$25)
	.dwattr $C$DW$T$26, DW_AT_address_class(0x20)
$C$DW$T$27	.dwtag  DW_TAG_typedef, DW_AT_name("KNL_Fxn")
	.dwattr $C$DW$T$27, DW_AT_type(*$C$DW$T$26)
	.dwattr $C$DW$T$27, DW_AT_language(DW_LANG_C)

$C$DW$T$43	.dwtag  DW_TAG_subroutine_type
	.dwattr $C$DW$T$43, DW_AT_language(DW_LANG_C)

$C$DW$T$44	.dwtag  DW_TAG_subroutine_type
	.dwattr $C$DW$T$44, DW_AT_language(DW_LANG_C)
$C$DW$18	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$10)
	.dwendtag $C$DW$T$44

$C$DW$T$4	.dwtag  DW_TAG_base_type, DW_AT_name("bool")
	.dwattr $C$DW$T$4, DW_AT_encoding(DW_ATE_boolean)
	.dwattr $C$DW$T$4, DW_AT_byte_size(0x01)
$C$DW$T$5	.dwtag  DW_TAG_base_type, DW_AT_name("signed char")
	.dwattr $C$DW$T$5, DW_AT_encoding(DW_ATE_signed_char)
	.dwattr $C$DW$T$5, DW_AT_byte_size(0x01)
$C$DW$T$6	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned char")
	.dwattr $C$DW$T$6, DW_AT_encoding(DW_ATE_unsigned_char)
	.dwattr $C$DW$T$6, DW_AT_byte_size(0x01)
$C$DW$T$7	.dwtag  DW_TAG_base_type, DW_AT_name("wchar_t")
	.dwattr $C$DW$T$7, DW_AT_encoding(DW_ATE_signed_char)
	.dwattr $C$DW$T$7, DW_AT_byte_size(0x02)
$C$DW$T$8	.dwtag  DW_TAG_base_type, DW_AT_name("short")
	.dwattr $C$DW$T$8, DW_AT_encoding(DW_ATE_signed)
	.dwattr $C$DW$T$8, DW_AT_byte_size(0x02)
$C$DW$T$9	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned short")
	.dwattr $C$DW$T$9, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr $C$DW$T$9, DW_AT_byte_size(0x02)
$C$DW$T$45	.dwtag  DW_TAG_typedef, DW_AT_name("Bool")
	.dwattr $C$DW$T$45, DW_AT_type(*$C$DW$T$9)
	.dwattr $C$DW$T$45, DW_AT_language(DW_LANG_C)

$C$DW$T$48	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*$C$DW$T$45)
	.dwattr $C$DW$T$48, DW_AT_language(DW_LANG_C)
$C$DW$19	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$47)
$C$DW$20	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$36)
	.dwendtag $C$DW$T$48


$C$DW$T$51	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*$C$DW$T$45)
	.dwattr $C$DW$T$51, DW_AT_language(DW_LANG_C)
$C$DW$21	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$50)
$C$DW$22	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$42)
$C$DW$23	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*$C$DW$T$36)
	.dwendtag $C$DW$T$51

$C$DW$T$10	.dwtag  DW_TAG_base_type, DW_AT_name("int")
	.dwattr $C$DW$T$10, DW_AT_encoding(DW_ATE_signed)
	.dwattr $C$DW$T$10, DW_AT_byte_size(0x04)
$C$DW$T$22	.dwtag  DW_TAG_typedef, DW_AT_name("Int")
	.dwattr $C$DW$T$22, DW_AT_type(*$C$DW$T$10)
	.dwattr $C$DW$T$22, DW_AT_language(DW_LANG_C)

$C$DW$T$38	.dwtag  DW_TAG_array_type, DW_AT_type(*$C$DW$T$22)
	.dwattr $C$DW$T$38, DW_AT_language(DW_LANG_C)
	.dwattr $C$DW$T$38, DW_AT_byte_size(0x04)
$C$DW$24	.dwtag  DW_TAG_subrange_type
	.dwattr $C$DW$24, DW_AT_upper_bound(0x00)
	.dwendtag $C$DW$T$38

$C$DW$T$11	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned int")
	.dwattr $C$DW$T$11, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr $C$DW$T$11, DW_AT_byte_size(0x04)
$C$DW$T$35	.dwtag  DW_TAG_typedef, DW_AT_name("size_t")
	.dwattr $C$DW$T$35, DW_AT_type(*$C$DW$T$11)
	.dwattr $C$DW$T$35, DW_AT_language(DW_LANG_C)
$C$DW$T$36	.dwtag  DW_TAG_typedef, DW_AT_name("Uns")
	.dwattr $C$DW$T$36, DW_AT_type(*$C$DW$T$11)
	.dwattr $C$DW$T$36, DW_AT_language(DW_LANG_C)
$C$DW$T$40	.dwtag  DW_TAG_typedef, DW_AT_name("LgUns")
	.dwattr $C$DW$T$40, DW_AT_type(*$C$DW$T$11)
	.dwattr $C$DW$T$40, DW_AT_language(DW_LANG_C)
$C$DW$T$12	.dwtag  DW_TAG_base_type, DW_AT_name("long")
	.dwattr $C$DW$T$12, DW_AT_encoding(DW_ATE_signed)
	.dwattr $C$DW$T$12, DW_AT_byte_size(0x08)
	.dwattr $C$DW$T$12, DW_AT_bit_size(0x28)
	.dwattr $C$DW$T$12, DW_AT_bit_offset(0x18)
$C$DW$T$13	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned long")
	.dwattr $C$DW$T$13, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr $C$DW$T$13, DW_AT_byte_size(0x08)
	.dwattr $C$DW$T$13, DW_AT_bit_size(0x28)

⌨️ 快捷键说明

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