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

mov rll,rl2   ; N1 в rll/rl2
sub rl3,rll   ; N3=N1-T2 в rll
sub rl4,rl2   ; N2=N1-T1
mov rl2,T2 941  
  ; Общая согласующая цепь с потерями
  ; требуется N3 в rll
  ; l/nl=32, gamma 2=-l+l/32)
  ; nl*gamma _l=l/32
mov rll,rl3 ; сохранить N3 в г13
mov IN,rl2 ; Tl=N3*gamma 2+nl*gamma 1*IN
rra rl2  
rra rl2  
rra rl2  
rra rl2  
rra rl2 ; nl*gamma 1*IN в rl2
sub rll,rl2  
rra rll  
rra rll  
rra rll  
rra rll  
rra rll  
add rll,rl2 ; Tl в rl2
mov rl2,Tl 941 ; сохранить 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 SWAP5    
mov rl3,MAXLO   • замена максимума
mov #012,ROW   • строка 12

f& Texas [NSiraJMENTS IV. Примеры конкретных применений
SWAP5 .***** **************************************
; окончание согласующей цепи
FILTER 941 ENDE  
.endif  
.if FILTER 6
FILTER 852  
mov T2 852,rll ; N1= (T2-T1)*alpha
mov rll,rl2
mov Tl 852,rl3
sub rl3,rl2
rra rl2
rra rl2
rra rl2
rra rl2
mov rl2,rl4
rra rl2
add rl2,rl4 ; N1 в rl4
add rl4,rll ; N3=T2+N1 в rll
add rl4,rl3 ; N2=T1+N1
mov rl3,T2_852
  ; Общая согласующая цепь с потерями
  ; требуется N3 в rll
  ; l/nl=32, gamma_2=-l+l/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
rra rl2
rra rl2
rra rl2 ; nl*gamma 1*IN в rl2
sub rll,rl2
rra rll
rra rll
rra rll
rra rll
rra rll
add rll,rl2 ; Tl в rl2
mov rl2,Tl 852 ; сохранить Tl в ОЗУ
rla rl3 ; N3 * 32
rla rl3
rla rl3
rla rl3
rla *1A rl3

Глава 12.