Генерация и распознование DTMF-сигналов

rla rl2 ; Tl * 32
rla rl2  
rla rl2  
rla rl2  
rla rl2  
sub IN,rl2  
add rl2,OUT ; В г13 выходное значение
. ****************: к-тк-тк-тк-тк-тк-тк-****: t*************************
cmp OUT,MAXLO ; Сравнить выходное
    ; значение с максиму-
    ; мом
jge SWAP 6  
mov rl3,MAXLO ; замена максимума
mov #08,ROW ; строка 8
SWAP6 ;****** *********** **************************
; окончание согласующей цепи  
FILTER 852 ENDE    
.endif    
.if FILTER 7  
FILTER 770    
mov T2 770,rll ; N1=(T2-T1)*alpha
mov rll,rl2  
mov Tl 770,rl3  
sub rl3,rl2  
rra rl2  
rra rl2  
mov rl2,rl4  
rra rl2  
rra rl2  
rra rl2  
rra rl2  
sub rl2,rl4 ; N1 в г14
add rl4,rll ; N3=T2+N1 в rll
add rl4,rl3 ; N2=T1+N1
mov rl3,T2_77C  
  ; Общая согласующая цепь с потерями
  ; требуется N3 в rll
  ; l/nl=32, gamma 2=-1+1/32)
  ; nl*gamma _1=1/32
mov rll,rl3 ; сохранить N3 в г13
mov IN,rl2 ; Tl=N3*gamma 2+nl*gamma 1*IN
rra rl2  
rra rl2  

f& Texas iNSiraJMENTS     IV. Примеры конкретных применений
rra rl2    
rra rl2    
rra rl2 ; nl *gamma 1*IN в г12
sub rll,rl2    
rra rll    
rra rll    
rra rll    
rra rll    
rra rll    
add rll,rl2 ; Tl в г12
mov rl2,Tl 77C   ; сохранить Tl в ОЗУ
rla rl3 N3 * 32
rla rl3    
rla rl3    
rla rl3    
rla rl3    
rla rl2 ; Tl * 32
rla rl2    
rla rl2    
rla rl2    
rla rl2    
sub IN,rl2    
add rl2,OUT ; В г13 выходное значение
. ***************^ ■***********- **- к***********************
cmp OUT,MAXLO   ; Сравнить выходное
      ; значение с максиму-
      ; мом
jge SWAP7    
mov rl3,MAXLO   ; замена максимума
mov #04,ROW   ; строка 4

SWAP7 ********************************************

; окончание согласующей цепи

FILTER_770_ENDE

.endif

.if FILTER8

 

FILTER 697  
mov T2 697,rll
mov rll,rl2
mov Tl 697,rl3
sub rl3,rl2
rra rl2
rra rl2
mov rl2,rl4