I am quite new to DSP, so my question might be obvious for the most of you. At the moment I am struggeling with a project for the adsp-21469, which is based on the Sample based talkthrough example with 192 kHz. My question aims to two lines of the SPORT1_ISR_process_samples_.asm.
r0 = dm(_rx1a_buf + Internal_ADC_L1); --> data is read from rx1a_buf to r0
f0 = float r0 by r1; --> r0 is castet to float, but the float value is in f0
dm(_Left_Channel_In1) = r0; --> r0 is written to Left_Channel_In1
The Question is: Why is r0 written to the Buffer and not f0, and what actually happens to f0?
r0 = dm(_Left_Channel_Out1); --> data is read from Left_Channel_Out1 to r0
r0 = trunc f0 by r1; --> f0 is truncated to fixed point
dm(_tx0a_buf + Internal_DAC_L1) = r0; --> r0 is written back
Why is Left_Channel_Out1 read to r0 and not to f0? Where is f0 coming from?
My last question is, wheter there is a ADI-Assembler Guide for beginners anywhere around? I already worked with programming-reference and with the "Assembler and Preprocessor Manual" for VDSP++. Both were helpful, but the some basic information were difficult to find. For example I'd like to know how to program a subroutine etc.