;---------------------------------------------------------------
;              programma wwoda zwukowyh ritmow komandnoj strokoj
;
;     dlitelxnosti zwukow : celaq           - lat. bukwa 'A'
;                           polowinnaq      - lat. bukwa 'B'
;                                 .  .  .  .  .  .  .
;                           tridcatx wtoraq - lat. bukwa 'F'
;
;     dlitelxnosti pauz :   celaq           - lat. bukwa 'M'
;                                 .  .  .  .  .  .  .
;                           tridcatx wtoraq - lat. bukwa 'R'
;
;     ostalxnye simwoly komandnoj stroki ignoriru`tsq
;---------------------------------------------------------------
        .TITLE  ZWUKI
        .MCALL  .GTLIN
TEXT:   .ASCII  <16><162>/ITM? /<17><200>
STROKA: .BLKB   82.
        .EVEN
EKRP    =       177564
EKRD    =       177566

   ;golownoj graf
.GTLIN #STROKA,#TEXT
MOV #STROKA,R4NE,(R4),,BCALL OBRSYM
INC R4OBRSYM:
   ;obrabotka komandnoj stroki

GE,#'F,(R4),B &
LE,#'A,(R4),BCALL ZWUKILE,#'M,(R4),B &
GE,#'R,(R4),BCALL PAUZYZWUKI:
   ;generaciq zwuka zadannoj dlitelxnosti
MOVB (R4),R1
SUB #'A,R1
MOV #32.,R2NE,R1ASR R2
DEC R1NE,R2CALL ZW
DEC R2CALL PZPAUZY:
   ;generaciq pauzy zadannoj dlitelxnosti
MOVB (R4),R1
SUB #'M,R1
MOV #32.,R2NE,R1ASR R2
DEC R1NE,R2CALL PZ
DEC R2ZW:
   ;generaciq |lementarnrgo zwuka
PL,@#EKRP,,BMOVB #7,@#EKRDSB,#40000,R3PZ:
   ;generaciq |lementarnoj pauzy
MOV #100000,R3SB,,R3     