📄 thrcontrol.asm
字号:
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 + -