michas (14.07.2017 12:50, просмотров: 107) ответил Крок на Насколько я помню, у Безналоговых Девиц ассемблерная команда присваивания именно так и выглядит, как Вы хотите.
Собственно вопрос и возник, когда я шарковский ассемблер посмотрел input_samples: // ------------ The FIR filter is here ------------------------
// ACQUIRE THE INPUT SAMPLE, CONVERT TO FLOATING POINT
r0 = dm(rx_buf + 1); // move the input sample into r0
r0 = lshift r0 by 16; // shift to the highest 16 bits to preserve the sign
r1 = -31; // set the scaling for the conversion
f0 = float r0 by r1; // convert from fixed to floating point
dm(i0,m0) = f0; // store the sample in dline[]
// CALCULATE THE OUTPUT SAMPLE FROM THE FIR FILTER
f12 = 0; // prime the registers
f2 = dm(i0,m0), f4 = pm(i8,m8);
// efficient main loop
lcntr = NR_COEF-1, do (pc,1) until lce;
f8 = f2*f4, f12 = f8+f12, f2 = dm(i0,m0), f4 = pm(i8,m8);
f8 = f2*f4; // complete the last loop
f12 = f8+f12;
// CONVERT THE OUTPUT SAMPLE TO FIXED POINT & OUTPUT
r1 = 31; // set the scaling for the conversion
r8 = fix f12 by r1; // convert from floating to fixed point
rti(db); // return from interrupt, but execute next 2 lines
r8 = lshift r8 by -16; // shift to the lowest 16 bits
dm(tx_buf + 1) = r8; // move the sample to the output
.endseg;