📄 codec.asm
字号:
;----------------------------------------------------------------------
; 70 | codec_aout_gain(hHandset, CODEC_AOUT_MINUS_6dB); /* -6dB gain on ana
; | log output from DAC */
;----------------------------------------------------------------------
ST #1,*SP(0) ; |70|
LD *(_hHandset),A ; |70|
CALL #_codec_aout_gain ; |70|
; call occurs [#_codec_aout_gain] ; |70|
.line 34
;----------------------------------------------------------------------
; 71 | codec_sample_rate(hHandset,SR_16000); /* 16KHz sampling r
; | ate */
;----------------------------------------------------------------------
ST #144,*SP(0) ; |71|
LD *(_hHandset),A ; |71|
CALL #_codec_sample_rate ; |71|
; call occurs [#_codec_sample_rate] ; |71|
.line 38
;----------------------------------------------------------------------
; 75 | while (1)
;----------------------------------------------------------------------
.line 41
;----------------------------------------------------------------------
; 78 | while (!MCBSP_RRDY(HANDSET_CODEC)) {};
;----------------------------------------------------------------------
L5:
STM #72,AR1 ; |78|
ST #0,*AR1 ; |78|
LD #2,A ; |78|
STM #73,AR1 ; |78|
LDU *AR1,B
AND B,A ; |78|
SFTL A,#0 ; |78|
SFTL A,#-1,A ; |78|
NOP
LDM AL,A ; |78|
BC L5,AEQ ; |78|
; branch occurs ; |78|
.line 44
;----------------------------------------------------------------------
; 81 | data = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC);
;----------------------------------------------------------------------
STM #65,AR1 ; |81|
MVDK *AR1,*(_data) ; |81|
.line 45
;----------------------------------------------------------------------
; 82 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 46
;----------------------------------------------------------------------
; 83 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 47
;----------------------------------------------------------------------
; 84 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 48
;----------------------------------------------------------------------
; 85 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 49
;----------------------------------------------------------------------
; 86 | *buffer = data;
;----------------------------------------------------------------------
MVDM *(_buffer),AR1 ; |86|
MVKD *(_data),*AR1 ; |86|
.line 50
;----------------------------------------------------------------------
; 87 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 51
;----------------------------------------------------------------------
; 88 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 52
;----------------------------------------------------------------------
; 89 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 53
;----------------------------------------------------------------------
; 90 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 54
;----------------------------------------------------------------------
; 91 | fir();
;----------------------------------------------------------------------
CALL #_fir ; |91|
; call occurs [#_fir] ; |91|
.line 55
;----------------------------------------------------------------------
; 92 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 56
;----------------------------------------------------------------------
; 93 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 57
;----------------------------------------------------------------------
; 94 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 58
;----------------------------------------------------------------------
; 95 | asm(" nop");
;----------------------------------------------------------------------
nop
.line 59
;----------------------------------------------------------------------
; 96 | *(volatile u16*)DXR1_ADDR(HANDSET_CODEC) = *buffer;
;----------------------------------------------------------------------
MVDM *(_buffer),AR3 ; |96|
STM #67,AR2 ; |96|
MVDD *AR3,*AR2 ; |96|
.line 60
B L5 ; |97|
; branch occurs ; |97|
L6:
.line 61
FRAME #4
POPM AR1
RET
; return occurs
.endfunc 98,000000400h,5
.sect ".text"
.global _delay
.sym _delay,_delay, 32, 2, 0
.func 101
;----------------------------------------------------------------------
; 101 | void delay(s16 period)
;----------------------------------------------------------------------
;***************************************************************
;* FUNCTION DEF: _delay *
;***************************************************************
_delay:
;* A assigned to _period
.sym _period,0, 4, 17, 16
.sym _period,0, 4, 1, 16
.sym _i,1, 4, 1, 16
.sym _j,2, 4, 1, 16
FRAME #-3
NOP
.line 2
;----------------------------------------------------------------------
; 103 | int i, j;
;----------------------------------------------------------------------
STL A,*SP(0) ; |102|
.line 5
;----------------------------------------------------------------------
; 105 | for(i=0; i<period; i++)
;----------------------------------------------------------------------
ST #0,*SP(1) ; |105|
SSBX SXM ;
NOP
LD *SP(0),A ; |105|
SUB *SP(1),A ; |105|
BC L10,ALEQ ; |105|
; branch occurs ; |105|
L7:
.line 7
;----------------------------------------------------------------------
; 107 | for(j=0; j<period>>1; j++);
;----------------------------------------------------------------------
ST #0,*SP(2) ; |107|
LD *SP(0),#-1,A ; |107|
SUB *SP(2),A ; |107|
BC L9,ALEQ ; |107|
; branch occurs ; |107|
L8:
ADDM #1,*SP(2) ; |107|
LD *SP(0),#-1,A ; |107|
SUB *SP(2),A ; |107|
BC L8,AGT ; |107|
; branch occurs ; |107|
L9:
.line 8
ADDM #1,*SP(1) ; |108|
LD *SP(0),A ; |108|
SUB *SP(1),A ; |108|
BC L7,AGT ; |108|
; branch occurs ; |108|
.line 9
L10:
FRAME #3
RET
; return occurs
.endfunc 109,000000000h,3
;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;***************************************************************
.global _brd_init
.global _brd_led_toggle
.global _codec_open
.global _codec_dac_mode
.global _codec_adc_mode
.global _codec_ain_gain
.global _codec_aout_gain
.global _codec_sample_rate
.global _fir
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -