[an error occurred while processing this directive]
|
mov @ar0,#nsampl-1 ;number of samples
movl xar1,#ADCRESULT1 ;ch A0 data register
movl xar2,#ADCRESULT0 ;ch B0 data register
movl xar3,#siga ;in-phase buffer address
movl xar4,#sigb ;quadrature buffer address
adloop: mov acc,*xar1<<#12 ;AH=ADCRESULT0
sub ah,@work1
add ah,*xar3
mov *xar3++,ah ;save result0
nop
mov acc,*xar2<<#12 ;AH=ADCRESULT8
sub ah,@work2
add ah,*xar4
mov *xar4++,ah ;save result8
nop ;wait for sample rate
nop
nop
nop
nop
banz adloop,ar0-- ;all samples?