C ???????????? ?????? ??????????? ? ??????? ???
C ?? ??????????? ????? "????? ??????"
C ?????? ??????? "?????-36"
C
.Program RECB.
C --------------------------
C 1 ??? ???? ?? ????? ???
C --------------------------
C BYTE. <== ???
10 IF INGROUP RSPM2. < 128 THEN JUMP 10
SET BYTE. = INGROUP RDPM2. AND BYTE.MASK.
RETURN
.End
.Program RECBP.
C ------------------------------------------
C 1 ??? ???? ?? ????? ??? ? ?????????
C ------------------------------------------
C
SET COUNT2. = PAUSE.
C BYTE. <== ???
10 IF INGROUP RSPM2. >= 128 THEN JUMP 20
SET COUNT2. = COUNT2. - 1
IF COUNT2. > 0 THEN JUMP 10
C ???? - ??? ????
SET ERRORW. = ERCHR.
SET NSUBR. = 1
RETURN
C ----------
20 SET BYTE. = INGROUP RDPM2. AND BYTE.MASK.
C
RETURN 1
.End
.Program TRABP.
C -----------------------------
C 2 ????? ???? ?? ?????? ???
C -----------------------------
C
SET COUNT2. = PAUSE.
C BYTE. ==> ???
10 IF INGROUP RSPD2. >= 128 THEN JUMP 20
SET COUNT2. = COUNT2. - 1
IF COUNT2. > 0 THEN JUMP 10
C ???? - ?????? ?? ???
SET ERRORW. = ERCHR.
SET NSUBR. = 2
RETURN
C ----------
20 OUTGROUP RDPD2. = BYTE.
C
RETURN 1
.End
.Program RECEPC.
C ---------------------------------------
C 3 ???????? ????????? ???? ?? ????? ???
C ---------------------------------------
C
SET BYTE. = INGROUP RDPM2.
C BYTE. <== ???
10 CALL RECB.
IF BYTE. <> MARKER. THEN JUMP 10
C BYTE. ==> ???
CALL TRABP.
JUMP 101
C
RETURN 1
C -------- ????
101 SET NSUBR. = 3
RETURN
.End
.Program TRANSC.
C -----------------------------------------------------
C 4 ???????? ????? ????????? ???? ?? ?????? ???
C -----------------------------------------------------
C
SET WORD. = PAUSE.
SET PAUSE. = PAUST.
C
SET BYTE. = INGROUP RDPM2.
C BYTE. ==> ???
10 SET BYTE. = MARKER.
CALL TRABP.
JUMP 101
C BYTE. <== ???
CALL RECBP.
JUMP 10
C
IF BYTE. = MARKER. THEN JUMP 20
C ???? ?? ???
SET ERRORW. = ERRTRA.
C
101 SET NSUBR. = 4
SET PAUSE. = WORD.
RETURN
C ------
20 SET PAUSE. = WORD.
RETURN 1
.End
.Program SWITCH.
C ----------------------------
C 7 ??? ??????? ?? ????? ???
C ----------------------------
C ???? ???????: {??????}
C ???????:
C F0.M. - ??????? 0
C F1.M. - ??????? 1
C F2.M. - ??????? 2
C F3.M. - ??????? 3
C F4.M. - ??????? 4
C ??????:
C - ??? ??????? 0: ????? ??????
C - ??? ??????? 1: ????? ?????? ? 1 ??????
C - ??? ??????? 2: ????? ?????? ? 2 ??????
C - ??? ??????? 3: ????? ?????? ? 3 ??????
C - ??? ??????? 4: ????? ?????? ? 4 ??????
C
C BEGCOM. - ???? ???? ???????
C Variables:
C COMMAND.- ??? ???????
C NFRAGM. - ????? ??????
C MAX.FR. - ???????? ?? ??????
C PAR1. - ?????? 1
C PAR2. - ?????? 2
C PAR3. - ?????? 3
C PAR4. - ?????? 4
C
SET COMMAND. = 0
C BYTE. <== ???
SET MARKER. = BEGCOM.
CALL RECEPC.
JUMP 103
C BYTE. <== ???
CALL RECBP.
JUMP 103
C
SET COMMAND. = BYTE.
C
SET COUNT1. = COMMAND. - F0.M.
IF COMMAND. > F4.M. THEN JUMP 102
IF COMMAND. < F0.M. THEN JUMP 102
C BYTE. ==> ???
CALL TRABP.
JUMP 103
C BYTE. <== ???
CALL RECBP.
JUMP 103
C
SET NFRAGM. = BYTE.
C
IF NFRAGM. > MAX.FR. THEN JUMP 105
IF NFRAGM. < 0 THEN JUMP 105
C BYTE. ==> ???
CALL TRABP.
JUMP 103
C
IF COUNT1. <= 0 THEN JUMP 15
C BYTE. <== ???
11 CALL RECBP.
JUMP 103
C BYTE. ==> ???
CALL TRABP.
JUMP 103
C
IF COUNT1. = 1 THEN JUMP 14
IF COUNT1. = 2 THEN JUMP 12
IF COUNT1. = 3 THEN JUMP 18
C
SET PAR4. = BYTE.
JUMP 13
18 SET PAR3. = BYTE.
JUMP 13
12 SET PAR2. = BYTE.
13 SET COUNT1. = COUNT1. - 1
JUMP 11
C
14 SET PAR1. = BYTE.
C
C
15 IF NFRAGM. <> 0 THEN JUMP 16
SET WORD. = 1
JUMP 17
C
16 SET WORD. = NFRAGM. * 3
SET WORD. = WORD. -1
C
SET ERRORW. = 0
PRINT NFRAGM.
17 RETURN WORD.
C ------------
C ???? - ??????????? ???????
102 SET ERRORW. = ERIC.
C ==> ???
101 SET BYTE. = ERRORW.
CALL TRABP.
JUMP 103
C
103 SET NSUBR. = 7
RETURN
C ------
C ???? ? ??????
105 SET ERRORW. = ERBA.
JUMP 101
.End
.Program INID2.
C -------------------------------------
C ?????????? ??????????? ????
C -------------------------------------
C
C ***** ???????? ??????????? ???? *****
C (177550-177556)
SET RSPM2. = -152
SET RDPM2. = -150
SET RSPD2. = -148
SET RDPD2. = -146
C ???? ???????
SET BYTE. = INGROUP RDPM2.
C
C ??? 0377
SET BYTE.MASK. = 255
C
C ***** Markers *****
C ???? NULL
SET NULL. = 0
C ???? ???? ??????? <{>
SET BEGCOM. = 125
C ??? ??????? 0 <0>
SET F0.M. = 48
C ??? ??????? 1 <1>
SET F1.M. = 49
C ??? ??????? 2 <2>
SET F2.M. = 50
C ??? ??????? 3 <3>
SET F3.M. = 51
C ??? ??????? 4 <4>
SET F4.M. = 52
C
C ***** ???? ???? *****
C ??????????? ???????
SET ERIC. = 61
C ??? ????
SET ERCHR. = 62
C ???? ? ??????
SET ERBA. = 63
C ???? ?? ??? ??? ???????
SET ERRTRA. = 64
C
C ***** ??????? *****
C ?????? ??? ???????? ?? ???? (5 sec)
SET PAUSE. = 5000
C ???? ????? ????????? ???? (0.5 sec)
SET PAUST. = 500
C
C ERRORW. - ??? ????
C NSUBR. - ????? ????????
C MAX.FR. - ???????? ?? ??????
C NFRAGM. - ????? ???? ??????
C PAR1. , PAR2. , PAR3. ,PAR4. - ???????
C ?????? ??????? :
C COMMAND. , MARKER. , COUNT1. , COUNT2. ,
C BYTE. , BYTE.L. , BYTE.H. , WORD.
C
RETURN
.End
.Program ERROR.
C ----------------
C ????? ????
C ----------------
C
PRINT 'ERROR -',ERRORW.
RETURN
.End





Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.