📄 thrcontrol.asm
字号:
;** --------------------------------------------------------------------------*
L3:
.line 18
LDW .D2T2 *+SP(28),B3 ; |91|
NOP 3
LDW .D2T2 *++SP(32),B10 ; |91|
RETNOP .S2 B3,5 ; |91|
; BRANCH OCCURS ; |91|
.endfunc 91,004080000h,32
.sect ".text"
.global _thrControlRun
.sym _thrControlRun,_thrControlRun, 32, 2, 0
.func 98
;******************************************************************************
;* FUNCTION NAME: _thrControlRun *
;* *
;* 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 + 20 Auto + 4 Save = 24 byte *
;******************************************************************************
_thrControlRun:
;** --------------------------------------------------------------------------*
.line 2
.sym _chanNum,4, 4, 1, 32
.sym _txMsg,8, 8, 1, 128, _CtrlMsg
STW .D2T2 B3,*SP--(24) ; |99|
NOP 2
.line 7
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L4
;** --------------------------------------------------------------------------*
L4:
.line 11
ZERO .D2 B4 ; |108|
CMPGT .L2 B4,0,B0 ; |108|
[ B0] BNOP .S1 L7,4 ; |108|
STW .D2T2 B4,*+SP(4) ; |108|
; BRANCH OCCURS ; |108|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L5:
.line 14
MVKL .S2 _externalControlPrev,B4 ; |111|
|| MVKL .S1 _externalControl,A3 ; |111|
|| MV .D2 B4,B5
|| MV .D1X B4,A4
MVKH .S2 _externalControlPrev,B4 ; |111|
|| MVKH .S1 _externalControl,A3 ; |111|
LDW .D2T2 *+B4[B5],B4 ; |111|
|| LDW .D1T1 *+A3[A4],A3 ; |111|
NOP 4
CMPEQ .L1X A3,B4,A0 ; |111|
[ A0] BNOP .S1 L6,5 ; |111|
; BRANCH OCCURS ; |111|
;** --------------------------------------------------------------------------*
.line 18
MVKL .S1 _externalControl,A3 ; |115|
MVKH .S1 _externalControl,A3 ; |115|
LDW .D1T1 *+A3[A4],A3 ; |115|
NOP 2
MVKL .S2 _externalControlPrev,B4 ; |115|
MVKH .S2 _externalControlPrev,B4 ; |115|
STW .D2T1 A3,*+B4[B5] ; |115|
NOP 2
.line 22
ZERO .D2 B4 ; |119|
STW .D2T2 B4,*+SP(8) ; |119|
NOP 2
.line 23
LDW .D2T2 *+SP(4),B4 ; |120|
NOP 4
STW .D2T2 B4,*+SP(12) ; |120|
NOP 2
.line 24
ZERO .D1 A3 ; |121|
STW .D2T1 A3,*+SP(16) ; |121|
NOP 2
.line 25
LDW .D2T2 *+SP(4),B5 ; |122|
NOP 2
MVKL .S2 _externalControl,B4 ; |122|
MVKH .S2 _externalControl,B4 ; |122|
LDW .D2T2 *+B4[B5],B4 ; |122|
NOP 4
STW .D2T2 B4,*+SP(20) ; |122|
NOP 2
.line 26
MVKL .S1 _MBX_post,A3 ; |123|
MVKH .S1 _MBX_post,A3 ; |123|
MVKL .S1 _mbxProcess,A4 ; |123|
CALL .S2X A3 ; |123|
ADDKPC .S2 RL1,B3,1 ; |123|
ADD .D2 8,SP,B4 ; |123|
MVKH .S1 _mbxProcess,A4 ; |123|
ZERO .D1 A6 ; |123|
RL1: ; CALL OCCURS ; |123|
;** --------------------------------------------------------------------------*
L6:
.line 28
LDW .D2T2 *+SP(4),B4 ; |125|
NOP 4
ADD .D2 1,B4,B4 ; |125|
CMPLT .L2 B4,1,B0 ; |125|
[ B0] BNOP .S1 L5,4 ; |125|
STW .D2T2 B4,*+SP(4) ; |125|
; BRANCH OCCURS ; |125|
;** --------------------------------------------------------------------------*
L7:
.line 31
MVKL .S2 _SEM_pend,B5 ; |128|
MVKH .S2 _SEM_pend,B5 ; |128|
CALL .S2 B5 ; |128|
MVK .S2 0x64,B4 ; |128|
MVKL .S1 _TSK_timerSem,A4 ; |128|
ADDKPC .S2 RL2,B3,1 ; |128|
MVKH .S1 _TSK_timerSem,A4 ; |128|
RL2: ; CALL OCCURS ; |128|
.line 32
BNOP .S1 L4,5 ; |129|
; BRANCH OCCURS ; |129|
;** --------------------------------------------------------------------------*
.endfunc 130,000080000h,24
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _SEM_pend
.global _MBX_post
.global _TSK_timerSem
.global _mbxProcess
;******************************************************************************
;* TYPE INFORMATION *
;******************************************************************************
.sym _MdUns, 0, 13, 13, 16
.sym _Bool, 0, 13, 13, 16
.sym _Int, 0, 4, 13, 32
.sym _Uns, 0, 14, 13, 32
.sym _LgUns, 0, 14, 13, 32
.sym _Ptr, 0, 16, 13, 32
.sym _KNL_Fxn, 0, 144, 13, 32
.stag _QUE_Elem, 64
.member _next, 0, 24, 8, 32, _QUE_Elem
.member _prev, 32, 24, 8, 32, _QUE_Elem
.eos
.sym _QUE_Obj, 0, 8, 13, 64,_QUE_Elem
.stag _KNL_Job, 128
.member _wListElem, 0, 8, 8, 64, _QUE_Elem
.member _wCount, 64, 4, 8, 32
.member _fxn, 96, 144, 8, 32
.eos
.sym _KNL_JobHandle, 0, 24, 13, 32,_KNL_Job
.sym _KNL_Job, 0, 8, 13, 128,_KNL_Job
.stag _SEM_Obj, 224
.member _job, 0, 8, 8, 128, _KNL_Job
.member _count, 128, 4, 8, 32
.member _pendQ, 160, 8, 8, 64, _QUE_Elem
.eos
.sym _SEM_Handle, 0, 24, 13, 32,_SEM_Obj
.sym _SEM_Obj, 0, 8, 13, 224,_SEM_Obj
.stag _MBX_Obj, 672
.member _dataQue, 0, 8, 8, 64, _QUE_Elem
.member _freeQue, 64, 8, 8, 64, _QUE_Elem
.member _dataSem, 128, 8, 8, 224, _SEM_Obj
.member _freeSem, 352, 8, 8, 224, _SEM_Obj
.member _segid, 576, 4, 8, 32
.member _size, 608, 14, 8, 32
.member _length, 640, 14, 8, 32
.eos
.sym _MBX_Handle, 0, 24, 13, 32,_MBX_Obj
.sym _MBX_Obj, 0, 8, 13, 672,_MBX_Obj
.stag _ExternalControl, 32
.member _quality, 0, 52, 8, 32, , 1
.eos
.sym _ExternalControl, 0, 8, 13, 32,_ExternalControl
.stag _CtrlMsg, 128
.member _cmd, 0, 14, 8, 32
.member _arg1, 32, 14, 8, 32
.member _arg2, 64, 14, 8, 32
.member _arg3, 96, 14, 8, 32
.eos
.sym _CtrlMsg, 0, 8, 13, 128,_CtrlMsg
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -