AnsweredAssumed Answered

Can anybody explain the Assembly Code in adsp-21469 EZ-Kit Talkthrough to me?

Question asked by on Apr 17, 2013
Latest reply on Apr 18, 2013 by


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.


best regards