PROGRAM MAP(INPUT,OUTPUT); ORIGIN IQSNMB=0C840H, BUF=5DH; LABEL 2,9 ; CONST $IQNCON TYPE $IQNTYP TEMPMESS=ARRAY [1..2] OF BYTE; TMAPMESS=ARRAY [1..3] OF BYTE; VAR MAPMESS:TMAPMESS; EMPMESS:TEMPMESS; SATNUM:BYTE; RDVAL,L:BYTE; EXTERNAL VAR IQSNMB:BYTE; BUF:ARRAY [1..8] OF CHAR; $IQNSBR (******************************************) PROCEDURE WAIT; BEGIN EMPMESS[1]:=IQSNMB; REPEAT L:=SIZE(TNETBLK,POOLBLK); RDVAL:=RDNET(EMPMESS TYPE TNETBLK,L); UNTIL (EMPMESS TYPE TNETBLK.NBT=POOLBLK) AND (RDVAL =0); END; (*****************************) PROCEDURE LDDIR; BEGIN INLINE("LHLD 1 "LXI D,-3 "DAD D "PCHL ); END; (*****************************) PROCEDURE READSATN; VAR P:^CHAR; BEGIN P:=REF(BUF[1]); SATNUM:=0; WHILE P^ IN ['0'..'9'] DO BEGIN SATNUM:=SATNUM*10+ORD(P^)-ORD('0'); P:=P+1; END; END; (******************************) BEGIN READSATN; IF (SATNUM<1) OR (SATNUM>MAXSAT) THEN BEGIN WRITELN('### CHYBNA SPECIFIKACE SATELITU'); GOTO 9; END; WITH MAPMESS TYPE TNETBLK DO BEGIN DSTADR:=0; NBT:=MPRQBLK; DSKNUM:=SATNUM; END; 2: WAIT; WRNET(MAPMESS TYPE TNETBLK,SIZE(TNETBLK,MPRQBLK)); L:=SIZE(TEMPMESS); EMPMESS[1]:=IQSNMB; RDVAL:=RDNET(EMPMESS TYPE TNETBLK,L); IF RDVAL<>0 THEN GOTO 2; IF EMPMESS TYPE TNETBLK.NBT=MPRJBLK THEN BEGIN WRITELN('Z TOHOTO SATELITU NELZE MAPOVAT!'); GOTO 9; END; LDDIR; WRITELN; WRITELN('DATOVY DISK SATELITU ',SATNUM:2,' JE PRIPOJEN!'); 9: END.