📄 aic23.asm
字号:
.endfunc 151,000000000h,0
.sect ".text"
.global _AIC23_setParams
.sym _AIC23_setParams,_AIC23_setParams, 32, 2, 0
.func 107
;******************************************************************************
;* FUNCTION NAME: _AIC23_setParams *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;* B5,B6,B7,B8,B9,DP,SP *
;* Local Frame Size : 0 Args + 0 Auto + 12 Save = 12 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_AIC23_setParams:
;** --------------------------------------------------------------------------*
.line 2
.sym _params,4, 24, 17, 32, _AIC23_Params
.sym _params,11, 24, 4, 32, _AIC23_Params
.sym _i,7, 4, 4, 32
.sym _hMcbsp,10, 24, 4, 32, $$fake0
.sym _x7,24, 4, 4, 32
.sym _x6,23, 4, 4, 32
.sym _x5,22, 4, 4, 32
.sym _x4,21, 4, 4, 32
.sym _x3,5, 4, 4, 32
.sym _x2,20, 4, 4, 32
.sym _x1,3, 4, 4, 32
.sym _x0,6, 4, 4, 32
.sym _base,0, 30, 4, 32
.sym _gie,25, 14, 4, 32
;** 113 ----------------------- hMcbsp = MCBSP_open(0, 1u);
;** 280 ----------------------- base = hMcbsp->baseAddr+8; // [6]
;** 273 ----------------------- gie = CSR&1u; // [0]
;** 274 ----------------------- CSR = CSR&0xfffffffeu; // [0]
;** 287 ----------------------- x0 = mcbspCfg0.spcr; // [6]
;** 288 ----------------------- x1 = mcbspCfg0.rcr; // [6]
;** 289 ----------------------- x2 = mcbspCfg0.xcr; // [6]
;** 290 ----------------------- x3 = mcbspCfg0.srgr; // [6]
;** 291 ----------------------- x4 = mcbspCfg0.mcr; // [6]
;** 292 ----------------------- x5 = mcbspCfg0.rcer; // [6]
;** 293 ----------------------- x6 = mcbspCfg0.xcer; // [6]
;** 294 ----------------------- x7 = mcbspCfg0.pcr; // [6]
;** 296 ----------------------- *base = 0u; // [6]
;** 297 ----------------------- base[1] = x1; // [6]
;** 298 ----------------------- base[2] = x2; // [6]
;** 299 ----------------------- base[3] = x3; // [6]
;** 300 ----------------------- base[4] = x4; // [6]
;** 301 ----------------------- base[5] = x5; // [6]
;** 302 ----------------------- base[6] = x6; // [6]
;** 303 ----------------------- base[7] = x7; // [6]
;** 304 ----------------------- *base = x0; // [6]
;** 279 ----------------------- CSR = CSR&0xfffffffeu|gie&1u; // [1]
;** 121 ----------------------- MCBSP_start(hMcbsp, 14u, 100u);
;** 125 ----------------------- aic23Rset(hMcbsp, 15u, 0u);
;** 128 ----------------------- i = 0;
;** ----------------------- #pragma MUST_ITERATE(10, 10, 10)
;** ----------------------- #pragma LOOP_FLAGS(5120u)
STW .D2T2 B3,*SP--(16) ; |108|
STW .D2T1 A11,*+SP(12) ; |108|
STW .D2T1 A10,*+SP(8) ; |108|
MV .D1 A4,A11 ; |108|
.line 7
MVKL .S1 _MCBSP_open,A0 ; |113|
MVKH .S1 _MCBSP_open,A0 ; |113|
CALL .S2X A0 ; |113|
MVKL .S2 RL0,B3 ; |113|
MVK .S2 0x1,B4 ; |113|
ZERO .D1 A4 ; |113|
MVKH .S2 RL0,B3 ; |113|
NOP 1
RL0: ; CALL OCCURS ; |113|
MV .D1 A4,A10 ; |113|
LDW .D1T1 *+A10(12),A0 ; |280|
NOP 4
ADD .D1 8,A0,A0 ; |280|
MVC .S2 CSR,B4 ; |273|
AND .S2 1,B4,B9 ; |273|
MVC .S2 CSR,B4 ; |274|
AND .S2 -2,B4,B4 ; |274|
MVC .S2 B4,CSR ; |274|
MVKL .S1 _mcbspCfg0,A3 ; |287|
MVKH .S1 _mcbspCfg0,A3 ; |287|
LDW .D1T1 *A3,A6 ; |287|
MVKL .S1 _mcbspCfg0+4,A3 ; |288|
MVKH .S1 _mcbspCfg0+4,A3 ; |288|
LDW .D1T1 *A3,A3 ; |288|
MVKL .S2 _mcbspCfg0+8,B4 ; |289|
MVKH .S2 _mcbspCfg0+8,B4 ; |289|
LDW .D2T2 *B4,B4 ; |289|
MVKL .S2 _mcbspCfg0+12,B5 ; |290|
MVKH .S2 _mcbspCfg0+12,B5 ; |290|
LDW .D2T1 *B5,A5 ; |290|
MVKL .S2 _mcbspCfg0+16,B5 ; |291|
MVKH .S2 _mcbspCfg0+16,B5 ; |291|
LDW .D2T2 *B5,B5 ; |291|
MVKL .S2 _mcbspCfg0+20,B6 ; |292|
MVKH .S2 _mcbspCfg0+20,B6 ; |292|
LDW .D2T2 *B6,B6 ; |292|
MVKL .S2 _mcbspCfg0+24,B7 ; |293|
MVKH .S2 _mcbspCfg0+24,B7 ; |293|
LDW .D2T2 *B7,B7 ; |293|
MVKL .S2 _mcbspCfg0+28,B8 ; |294|
MVKH .S2 _mcbspCfg0+28,B8 ; |294|
LDW .D2T2 *B8,B8 ; |294|
ZERO .D1 A7 ; |296|
STW .D1T1 A7,*A0 ; |296|
STW .D1T1 A3,*+A0(4) ; |297|
STW .D1T2 B4,*+A0(8) ; |298|
STW .D1T1 A5,*+A0(12) ; |299|
STW .D1T2 B5,*+A0(16) ; |300|
STW .D1T2 B6,*+A0(20) ; |301|
STW .D1T2 B7,*+A0(24) ; |302|
STW .D1T2 B8,*+A0(28) ; |303|
STW .D1T1 A6,*A0 ; |304|
MVC .S2 CSR,B4 ; |279|
AND .S2 1,B9,B5 ; |279|
|| AND .L2 -2,B4,B4 ; |279|
OR .S2 B5,B4,B4 ; |279|
MVC .S2 B4,CSR ; |279|
.line 15
MVKL .S1 _MCBSP_start,A0 ; |121|
MVKH .S1 _MCBSP_start,A0 ; |121|
CALL .S2X A0 ; |121|
MVKL .S2 RL1,B3 ; |121|
MVKH .S2 RL1,B3 ; |121|
MVK .S2 0xe,B4 ; |121|
MVK .S1 0x64,A6 ; |121|
NOP 1
RL1: ; CALL OCCURS ; |121|
.line 19
MVKL .S1 _aic23Rset,A0 ; |125|
MVKH .S1 _aic23Rset,A0 ; |125|
CALL .S2X A0 ; |125|
MVKL .S2 RL2,B3 ; |125|
MVK .S2 0xf,B4 ; |125|
MVKH .S2 RL2,B3 ; |125|
MV .D1 A10,A4 ; |125|
ZERO .S1 A6 ; |125|
RL2: ; CALL OCCURS ; |125|
.line 22
ZERO .D1 A7 ; |128|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L9:
;** -----------------------g2:
;** 129 ----------------------- aic23Rset(hMcbsp, (unsigned short)i, (unsigned short)*(i*4+(unsigned * const)params));
;** 130 ----------------------- if ( (++i) < 10 ) goto g2;
;** ----------------------- return;
.line 23
MVKL .S2 _aic23Rset,B5 ; |129|
MVKH .S2 _aic23Rset,B5 ; |129|
CALL .S2 B5 ; |129|
|| ADDAW .D1 A11,A7,A0 ; |129|
LDHU .D1T1 *A0,A6 ; |129|
EXTU .S1 A7,16,16,A0 ; |129|
MVKL .S2 RL3,B3 ; |129|
MV .L2X A0,B4 ; |129|
MVKH .S2 RL3,B3 ; |129|
|| MV .D1 A10,A4 ; |129|
RL3: ; CALL OCCURS ; |129|
.line 24
ADD .D1 1,A7,A7 ; |130|
CMPLT .L1 A7,10,A1 ; |130|
[ A1] B .S1 L9 ; |130|
NOP 5
; BRANCH OCCURS ; |130|
;** --------------------------------------------------------------------------*
.line 25
LDW .D2T1 *+SP(12),A11 ; |131|
LDW .D2T1 *+SP(8),A10 ; |131|
LDW .D2T2 *++SP(16),B3 ; |131|
NOP 4
RET .S2 B3 ; |131|
NOP 5
; BRANCH OCCURS ; |131|
.endfunc 131,000080c00h,16
;; Inlined function references:
;; [ 0] IRQ_globalDisable
;; [ 1] IRQ_globalRestore
;; [ 4] MCBSP_write
;; [ 5] MCBSP_xrdy
;; [ 6] MCBSP_config
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _MCBSP_start
.global _MCBSP_open
;******************************************************************************
;* TYPE INFORMATION *
;******************************************************************************
.sym _Uint16, 0, 13, 13, 16
.sym _Uint16, 0, 13, 13, 16
.sym _Int, 0, 4, 13, 32
.sym _Uint32, 0, 14, 13, 32
.sym _Uint32, 0, 14, 13, 32
.sym _Uns, 0, 14, 13, 32
.stag $$fake0, 192
.member _allocated, 0, 14, 8, 32
.member _xmtEventId, 32, 14, 8, 32
.member _rcvEventId, 64, 14, 8, 32
.member _baseAddr, 96, 30, 8, 32
.member _drrAddr, 128, 14, 8, 32
.member _dxrAddr, 160, 14, 8, 32
.eos
.sym _MCBSP_Handle, 0, 24, 13, 32,$$fake0
.sym _MCBSP_Handle, 0, 24, 13, 32,$$fake0
.stag $$fake1, 256
.member _spcr, 0, 14, 8, 32
.member _rcr, 32, 14, 8, 32
.member _xcr, 64, 14, 8, 32
.member _srgr, 96, 14, 8, 32
.member _mcr, 128, 14, 8, 32
.member _rcer, 160, 14, 8, 32
.member _xcer, 192, 14, 8, 32
.member _pcr, 224, 14, 8, 32
.eos
.sym _MCBSP_Config, 0, 8, 13, 256,$$fake1
.stag _AIC23_Params, 320
.member _regs, 0, 62, 8, 320, , 10
.eos
.sym _AIC23_Params, 0, 8, 13, 320,_AIC23_Params
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -