📄 adds_21161_ezkit_.asm
字号:
#include <asm_sprt.h>
#include "def21161.h"
#include "adds_21161_ezkit.h"
.section /dm seg_dmda;
.var _Left_Channel0; /* Input values from AD1836 ADCs */
.var _Left_Channel1;
.var _Left_Channel2;
.var _Left_Channel3; /* AD1852 */
.var _Right_Channel0;
.var _Right_Channel1;
.var _Right_Channel2;
.var _Right_Channel3; /* AD1852 */
.var _Left_Channel_SPDIF_rx;
.var _Right_Channel_SPDIF_rx;
.global _Left_Channel0; /* Input values from AD1836 ADCs */
.global _Left_Channel1;
.global _Left_Channel2;
.global _Left_Channel3; /* AD1852 */
.global _Right_Channel0;
.global _Right_Channel1;
.global _Right_Channel2;
.global _Right_Channel3; /* AD1852 */
.global _Left_Channel_SPDIF_rx;
.global _Right_Channel_SPDIF_rx;
.extern _rx0a_buf;
.extern _tx2a_buf;
.section /pm seg_pmco;
_Receive_Samples:
.global _Receive_Samples;
//void Receive_Samples();
/* modified to merge channels 0 and 1 */
/* get AD1836 left channel input samples, save to data holders for processing */
r1 = -31;
r0 = dm(_rx0a_buf + Internal_ADC_L0); f0 = float r0 by r1; // dm(_Left_Channel0) = r0;
r2 = dm(_rx0a_buf + Internal_ADC_L1); f2 = float r2 by r1; f0 = f0 + f2; dm(_Left_Channel0) = r0;
r0 = dm(_rx0a_buf + AUX_ADC_L0); f0 = float r0 by r1; dm(_Left_Channel_SPDIF_rx) = r0;
/* get AD1836 right channel input samples, save to data holders for processing */
r0 = dm(_rx0a_buf + Internal_ADC_R0); f0 = float r0 by r1; //dm(_Right_Channel0) = r0;
r2 = dm(_rx0a_buf + Internal_ADC_R1); f2 = float r2 by r1; f0 = f0 + f2; dm(_Right_Channel0) = r0;
r0 = dm(_rx0a_buf + AUX_ADC_R0); f0 = float r0 by r1; dm(_Right_Channel_SPDIF_rx) = r0;
leaf_exit;
_Receive_Samples.end:
_Transmit_Samples:
.global _Transmit_Samples;
r1 = 31;
/* output processed left ch audio samples to AD1836 */
r0 = dm(_Left_Channel0); r0 = trunc f0 by r1; dm(_tx2a_buf + Internal_DAC_L0) = r0;
r0 = dm(_Left_Channel1); r0 = trunc f0 by r1; dm(_tx2a_buf + Internal_DAC_L1) = r0;
r0 = dm(_Left_Channel2); r0 = trunc f0 by r1; dm(_tx2a_buf + Internal_DAC_L2) = r0;
r0 = dm(_Left_Channel3); r0 = trunc f0 by r1; dm(_tx2a_buf + AUX_DAC_L0) = r0;
/* output processed right ch audio samples to AD1836 */
r0 = dm(_Right_Channel0); r0 = trunc f0 by r1; dm(_tx2a_buf + Internal_DAC_R0) = r0;
r0 = dm(_Right_Channel1); r0 = trunc f0 by r1; dm(_tx2a_buf + Internal_DAC_R1) = r0;
r0 = dm(_Right_Channel2); r0 = trunc f0 by r1; dm(_tx2a_buf + Internal_DAC_R2) = r0;
r0 = dm(_Right_Channel3); r0 = trunc f0 by r1; dm(_tx2a_buf + AUX_DAC_R0) = r0;
leaf_exit;
_Transmit_Samples.end:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -