










































































































































































































































































































































































































































setbaud 1,9600,8,n,1
mode_reco




movd    "AHL-conv3>3              /n",s7,0
movd    " Alcatel 4400 (DHS 3) AHL - BCN Converter V3.1/n",s7,11
out     s7,0,c4
movd    " BY HOERHAGER JOSEF AKP /n",s7,11
out     s7,0,c4
movd    " Ready for working !/l/n",s7,11
out     s7,0,c4
error_main:
mode_reco
clear   ans_sign

main:
sett    100
wait    ans_sign
case    ans_sign,main
call    ahl_to_bcn
call    bcn_to_ahl
jmp     main




ahl_to_bcn:
readb   s8,0,0
jnz     do_transfer_main
ret

do_transfer_main:
out     s8,0,c4
call    convert_ahl_mess
sendsig ans_sign,c3
ret



convert_ahl_mess:
movd    "Converting !!!/n",s7,11
out     s7,0,c4
compd   "J",s8,0
jz      reco_j

ret




reco_j:
movd    "C                                                   /n",s9,0     




setc    10,1
setc    12,1
setc    11,5









find_non_space:
compd   " ",s8,c10
jnz     no_space
incc    10
decc    11
jnz     find_non_space
no_space:
movs    s8,c10,s9,c12,1
incc    10
incc    12
decc    11
jnz     no_space




movs    s8,22,s9,27,2
movs    s8,24,s9,29,2




movs    s8,16,s9,31,2
movs    s8,18,s9,33,2







movd    "  1",s9,44












no_transfered_call:









non_isdn_call:














no_privat_call:































movs    s8,44,s9,6,16





compd   ".",s8,37
jnz     impulse_cost

movd    "        ",s15,210      
movd    "        ",s15,220      
movd    "80 ",s15,220
movs    s8,32,s15,210,5
movs    s8,38,s15,215,2
acall   div
acall   cut_lz
movs    s15,233,s9,22,5
jmp     cost_end
impulse_cost:
movs    s8,35,s9,22,5
cost_end:




movs    s8,27,s9,39,3
movs    s8,30,s9,42,2


movd    "     ",s9,39






compd   "1",s9,1
jz      save_call



compd   "2",s9,1
jz      save_call



compd   "3",s9,1
jz      save_call



compd   "4",s9,1
jz      save_call



compd   "5",s9,1
jz      save_call



compd   "6",s9,1
jz      save_call



compd   "7",s9,1
jz      save_call



compd   "8",s9,1
jz      save_call



compd   "9",s9,1
jz      save_call

jmp     no_save




save_call:
movd    "/n",s9,52
buffwr  s9,0
loop_buffer_test:
buffst                  


no_save:
ret




bcn_to_ahl:




movd    "                                     ",s8,0
readb   s8,0,2
jnz     do_convert_main
ret

do_convert_main:
out     s8,0,c4
compd   "SF",s8,0
jz      do_cmd_sf
compd   "SH",s8,0
jz      do_cmd_sh

do_convert_errcmd:
movd    "ERR_CMD/n",s9,0
writeb  s9,0,3
out     s9,0,c4
sendsig ans_sign,c0
sendsig ans_sign,c3
ret




do_cmd_sf:
movd    "A      ROOM                1N                   00000 /n",s9,0
replace "/n ",s8,0,8
setc    10,6
setc    11,5
setc    12,5
call    l_to_r

movs    s9,1,s9,12,5
writeb  s9,0,1
sendsig ans_sign,c1

jmp     wait_answer




do_cmd_sh:
movd    "D     /n",s9,0
replace "/n ",s8,0,8
setc    10,6
setc    11,5
setc    12,5
call    l_to_r

writeb  s9,0,1
sendsig ans_sign,c1

jmp     wait_answer




wait_answer:
sett    30
clear   ans_sign
l_wait_answer:
wait    tf_sign,ans_sign
case    tf_sign,t_waitanswer
movd    "OK/n",s9,0            
writeb  s9,0,3
out     s9,0,c4
sendsig ans_sign,c0
sendsig ans_sign,c3
ret

t_waitanswer:
case    ans_sign,wait_answer
readb   s8,0,0
jz      l_wait_answer

out     s8,0,c4

compd   "R",s8,0
jz      ahl_reply_answer

compd   "E",s8,0
jz      ahl_error_answer

call    convert_ahl_mess

jmp     l_wait_answer





ahl_reply_answer:
compd   "INV",s8,6
jnz     l_wait_answer
movd    "ERR_EXT/n",s9,0            
writeb  s9,0,3
out     s9,0,c4
sendsig ans_sign,c0
sendsig ans_sign,c3
ret





ahl_error_answer:
movs    s8,1,s9,0,20
writeb  s9,0,3
out     s9,0,c4
sendsig ans_sign,c0
sendsig ans_sign,c3
ret










L_to_r:
compd   " ",s8,c10
jnz     tr_ltor
decc    10              
decc    12              
jnz     l_to_r
ret

tr_ltor:
movs    s8,c10,s9,c11,1
decc    10
decc    11
decc    12
jnz     tr_ltor
ret

zzzz:
end

