.HE ~astx II. nestandartnye |lementy qzyka.           str. #











                        turbo-paskalx
                 rUKOWODSTWO   POLXZOWATELQ    
               ==============================



   pEREWOD S NEMECKOGO "rUKOWODSTWA pOLXZOWATELQ sISTEMY"
 
                          PASCAL-TURBO

                  DL p|w "robotro 1715






                          ~ASTX II.

               nESTANDARTNY  \LEMENT  QZYKA.
.PA

.CP 26
        1.qZYKOWY RAS[IRENIQ.

     pREVDŠ ^E͠ OPISYWATؠ RAS[IRENIѠ QZYKA,SLEDUEԠ SDELAT 
NEKOTORY WAVNY DL POLXZOWATEL ZAME^ENIQ:
-TAˠ KAˠ SISTEM "TURBO NŠ IMEEԠ REDAKTOR SWQZE 
     (KOMPANOW]IKA),TϠ WKL@^ENIŠ FRAGMENTOנ PROGRAMM 
     SKOMPILIROWANNYȠ Ӡ POMO]X TURBO-pASKALQ נ PROGRAMMY 
     NAPISANNY N DRUGI QZYKA PROGRAMMIROWANIQ PRINCIPIALXN 
     NEWOZMOVN (!);
-TA VE OBY^NY OBRAZOM NEWOZMOVN WKL@^ENI  ISHODNY TEKS 
     N TURBO-pASKAL FRAGMENTO PROGRAMM NAPISANNY N DRUGI 
     QZYKA PROGRAMMIROWANI (NAPRIMER N ASSEMBLERE);
-WSŠ OPISYWAEMY NIV RAS[IRENI - SPECIFI^N TOLXK DL TURB  
     PRIMENENIŠ I  DRUGI pASKALX-SISTEMAM נ OB]E͠ SLU^AE 
     PROBLEMATI^NO (sLEDUEԠ ZAMETITؠ נ SKOBKAH,^T 
     OKON^ATELXNOG STANDART pASKAL POK E] N SU]ESTWUET).
-FIRM - RAZRABOT^Iˠ WEDEԠ RABOT٠ PϠ SOWER[ENSTWOWANI 
     PROGRAMNNOGϠ OBESPE^ENIQ PO\TOM SOWMESTIMOST RAS[IRENI 
     BOLEŠ POZDNIȠ WERSIʠ SLEDUEԠ T]ATELXNϠ PEREPROWERQTX 
     oSOBENNϠ \TϠ KASAETS PRIMENENIѠ PRQMYȠ WYZOWOנ FUNKCI 
     OPERACIONNOʠ SISTEMY TAKIH KAˠ BDOӠ ɠ BIOӠ  
     MA[INNOORIENTIROWANNY FUNKCI (PORT,STACKPTR,ME͠ :OPISANI 
     \TIȠ FUNKCIʠ PRIWODQTSѠ NIVE) |T FUNKCIɠ נ TURBϠ N 
     OB'QWLQ@TSѠ נ UTWERVDENIQ DEKLARACI TIP "VAR","CONST" 
     "LABEL","ARRAY",TYPŠ ɠ T.D tAKVŠ נ TURBϠ DOPUSKA@TS 
     NE^ISLOWY METKI  OTLI^I  O DRUGI pASKALX-TRANSLQTOROW 
      KOTORY WOZMOVN TOLXK ^ISLOWY .

.CP 35
     1.1.oPERATORY,UPRAWLQ@]I RAZME]ENIE INFORMACI N \KRANE.

     dLѠ UPRAWLENIѠ RAZME]ENI INFORMACIE N \KRAN DISPLEѠ  
TURB SU]ESTWU@ SLEDU@]I PROCEDURY:
     CLRSC - CLEARSCREEN-O^ISTK \KRANA  STANDARTNO͠ pASKAL 
DLѠ \TO CEL SU]ESTWUE PROCEDUR "PAGE".o^ITSK \KRAN נ CP/ 
SISTEMAȠ MOVN PROIZWODIT I pASKAL  POMO]X PROCEDUR٠ WRIT 
/WRITELN ZADA E PARAMET "#12" T EST  POMO]X WRITE(#12 
ILɠ WRITE(CHR(12)) pOSLŠ WYPOLNENIѠ O^ISTKɠ \KRAN KURSO 
ZANIMAE POZICI  LEWO WERHNE UGL (KOORDINAT X, - [1,1 ).
     CLREO - CLEA U T EN O LIN -O^ISTK D KONC STROK .
     GOTOXY(X,Y - POZICIONIROWANI KURSOR  POZICI  STROKɠ   
Y nA^AL KOORDINA NAHODITS  LEWO WERHNE UGL \KRANA.
     DELAY(T)- ZADERVK WYPOLNENI PROGRAMM N  MILISEKUND 
  
     pROCEDUR٠ DELLINE INSLINE SLUVA]IŠ DLѠ UDALENIѠ IL 
WSTAWK STRO  POZICI KURSORA   KAVDO KONKRETNO USTROJSTW 
DOLVN٠ BYT NASTROENY  OPISYWEMO WARIANT ON NŠ NASTROENY 
oDNAKO,DLѠ WYPOLNENIѠ PODOBNY OPERACIʠ MOVNϠ WOSPOLXZOWATXS 
STANDARTNYMɠ KONTROLXNYMɠ FUNCIQM CP/M-SISTEM KOTORYŠ MOVN 
ZADATؠ ^EREڠ PROCEDURՠ WRITŠ Ӡ UKAZANIE͠ SOOTWETSTWU@]EG 
PARAMETRA,KAˠ \TϠ DELALOSؠ DLѠ FUNKCIɠ "O^ISTK \KRANA" 
pODROBNE  ZADANI KONTROLXNY FUNKCI S  1.2.
    pERE^ENؠ STANDARTNY CP/ -KONTROLXNY FUNKCI MOVN NAJT  
RUKOWODSTW P OPERACIONNO SISTEM DL PROGRAMMIST (NAPRIMEҠ  
SYSTEMHANDBUC SCP).

    dL UDOBSTW POLXZOWATELE PRIWEDE NIV NEKOTORY I NIH:
    ^L      -  O^ISTKA \KRANA. (^L = #12);
    ^T      -  O^ISTKA \KRANA DO POZICII KURSORA;
    ^H      -  KURSOR NA ODNU POZICI@ WLEWO;
    ^U      -  KURSOR NA ODNU POZICI@ WPRAWO;
    ^M      -  KURSOR W NA^ALO STROKI;
    ^J      -  KURSOR NA ODNU STROKU WNIZ W TOJ VE POZICII;
    ^Z      -  KURSOR NA ODNU STROKU WWERH W TOJ VE POZICII.


.CP 16
       1.2 zADANI KONTROLXNY FUNKCI I PROGRAMMY.

      dLѠ ZADANIѠ KONTROLXNYȠ FUNKCIʠ MOVNϠ ISPOLXZOWATؠ I 
PREDSTAWLENIŠ נ KODA ASCI IL  DESQTI^NO͠ WIDE zADANIŠ  
KODA ASCI PROIZWODITS PUTE UKAZANI SIMWOL "^ (CONTROL)  
נ DESQTI^NO͠ WIDŠ PUTE͠ UKAZANIѠ ZNAK "# (DIEZ PERE 
DESQTI^NO CIFROJ.
      nAPRIMER:
      CONTROL/A   = ^A = #1;
      WRITE(^L) = WRITE(#12) - O^ISTKA \KRANA;
      
      IF A=^C THEN BDOS(0)  - "TEPLYʠ START"-PEREZAGRUZK os  
PROCESS  RABOTY.
      oBRATIT WNIMANIE: SIMWOL KONTROLXNY FUNKCI NŠTREBU@ 
ZAKL@^ENI I    (APOSTROFY WNUTR PROCEDUR WYWOD WRITE.

.CP 16
       1.3. sPECIFI^ESKIE TIPY DANNYH.

        TURBO-pASKAL OPREDELEN DW SPECIFI^ESKI TIP DANNYH 
KOTORY OTSUTSTWU@  STANDARTNO pASKALE:
      tIP DANNYH BYTE.
      --------------- 
      |TOԠ TIР DANNYȠ IMEEԠ SWOI͠ ZNA^ENIE͠ CELO^ISLENNO 
ZNA^ENIŠ BAJT (^ISL O  D 255).tI BYT SOWMESTI Ӡ TIPAM 
INTEGE  REAL.
      tIP DANNYH STRING[^ISLO] 
      ------------------------
      |TOT TIP OPREDELQET SIMWOLXNU@ STROKU DLINOJ <^ISLO>.
w NOTACII pASKALQ TIP STRING MOVNO OPREDELITX,KAK
      TYPE STRING=PACKED ARRAY[1..<~ISLO>].
      w STROKAH WOZMOVNA MANIPULQCIQ CEPO^KAMI ZNAKOW.

.CP12
      1.4 oPERACI S STROKAM DANNY (STRING  TURBO.

       TURBO-pASKAL DL NEPOSREDSTWENNY OPERACI SϠ STROKAM 
DANNY IME@TS SLEDU@]I PROCEDUR  FUNKCII:
      pROCEDURY 
      ---------
      DELETE,INSERT,STR,VAL;
  
      FUNKCII
      -------
      CONCAT,COPY,LENGTH,POS;
      
      mAKSIMALXNYʠ RAZMEҠ STROKɠ - 25 SIMWOLOנ OPREDELQETS 
NALI^IE ODNOBAJTOWOG PASPORT STROKI.

      DELETE(S,P,N)            S:STRING[X]; P,N:INTEGER;
 STROKŠ  NA^INA S ZNAK NOME    BAJ UDALQ@TSQ.eSLɠ  
BOLX[E ^E DLIN STROKI,T WYPOLNENI PROGRAMM PRERYWAETS  
GENERACIE O[IBK WREMEN ISPOLNENI (RU TIM ERROR).

      INSERT(Q,Z,P)                Q,Z:STRING; P:INTEGER;
w STROKU Z S POZICII P WKL@^AETSQ STROKA Q.

      STR(V,S)                  V:INTEGER\REAL;S:STRING;
~ISL  PREOBRAZOWYWAETS  POSLEDOWATELXNOST SIMWOLOנS. dAN
NAѠ PROCEDUR IZMENQE FORMA PREDSTAWLENI ^ISLOWYȠ DANNYH 
PREOBRAZUѠ ^ISLϠ I FORMAT WE]ESTWENNY ILɠ CELYȠ ^ISE̠  
FORMA SIMWOLXNO STROKI  \TO FORMAT PROIZWODIT WY^ISLENI 
NELXZQ!

      VAL(S,V,C            S:STRING; :INTEGER\REAL;C:INTEGER;
sTROK Ӡ SIMWOLOW,PREDSTAWLQ@]IȠ SOBOʠ POSLEDOWATELXNOST 
DESQTI^NYȠ CIF WMEST IL BE DESQTI^NO TO^K IL SIMWOL "e 
LOGARIFMI^ESKOʠ FORM٠ WE]ESTWENNOGϠ ^ISLA PREOBRAZUETSѠ  
SOOTWETSTWU@]EŠ CELOŠ ^ISL (DESQTI^NA TO^K IL SIMWO "e  
STROK SIMWOLO OTSUTSTWU@T LIB  WE]ESTWENNO ^ISLO.
 SLU^AE ESL  ISHODNO STROK WSTRE^AETS ZNAK KOTORYʠ N 
MOVEԠ BYT PREOBRAZOWA  ^ISLO T.E OTLI^NYʠ OԠ DESQTI^NO 
CIFRY DESQTI^NOʠ TO^K IL SIMWOL "e" LIB KOGD SIMWO "e 
ILɠ DESQTI^NA TO^K WSTRE^A@TS  STROK SIMWOLO BOLEŠ ODNOG 
RAZA,TϠ PREOBRAZOWANIŠ STROKɠ נ ^ISLϠ - NEWOZMOVNO TOGD 
PARAMETҠ "C POLU^AEԠ ZNA^ENIŠ NOMER PERWOGϠ ZNAK  
STROKE,KOTORY NEWOZMOVN PREOBRAZOWAT  ^ISLO.
      eSLɠ PREOBRAZOWANIŠ WYPOLNENϠ USPE[NO- PARAMETҠ "C 
PRINIMAE NULEWO ZNA^ENIE.
 
      CONCAT(S1,S2...SN):STRIN                  S1...S :STRING;
kONKATENACI - POSLEDOWATELXNO OB'EDINEI  STRO  ODN STROKU.

      COPY(S,P,N):STRIN                 S:STRING;P, :INTEGER;
iڠ STROKɠ "S",N^INAѠ Ӡ POZICIɠ Р  Π ZNAKOנ KOPIRUETSQ      
NAPRIME   :=COPY('KROKODIL',2,3  PRISWOI  ZNA^ENI 'ROK'.
      LENGTH(S):INTEGER                    S:STRING;
|T FUNKCI WY^ISLQE DLIN SIMWOLXNO STROKI.
  
      POS(Q,Z):INTEGER                     Q,Z:STRING;
|T FUNKCI PROIZWODI POIS PERWOG WHOVDENI STROK   STROK 
Q  REZULXTATŠ E RABOT WOZWRA]AETS NOME PERWOGϠ ZNAK  
STROKŠ Q SOWPADA@]EGϠ  PERWY ZNAKO STROKɠ Z eSLɠ ڠ N 
QWLQETS PODSTROKO Q,T FUNKCI WOZWRA]AE NULEWO ZNA^ENIE.
nAPRIME N:=POS('KROKODIL','OK').zDES  POLU^I ZNA^ENI 3.

.CP 40
      sLEDU@]IŠ PRIMER٠ DEMONSTRIRU@ WOZMOVNOSTɠ OPERACIʠ S 
STROKAMI:
(*DEMONSTRACI MANIPULQCI S STROKAM *)

VAR I           :INTEGER;
    R           :REAL;
    K1          :STRING[50];
    K2          :STRING[20];
    K3          :STRING[10];
BEGIN
CLRSCR;
WRITELN('TESTOWAQ PROGRAMMA RABOTY SO STROKAMI':50);
WRITELN;
K1:='ABCDE';
I:=LENGTH(K1); (*WY^ISLENIE DLINY AKTUALXNOJ STROKI*)
WRITELN(K1,' - ',I,' ZNAKOW DLINY.');
K2:='FGH';
K1:=CONCAT(K1,K2) (*KONKATENACI DWU STROKOWY PEREMENNYH*)
I:=LENGTH(K1);
WRITELN(K1,'-TEPERX 'I,' ZNAKOW DLINY');
K3:=COPY(K1,4,3) (*KOPIROWANIŠ  ZNAKOW,NA^INA  ^ETWERTOG  
AKT.sTROKE* 
WRITELN(K3,' OBRAZOWNA IZ ',K1,' S POZICII 4');
K3:='E';
I:=POS(K3,K1);   (*NAHOVDENIE POZICII K3 W K1*)
WRITELN('נ STROKŠ ',K1, STROK ',K3, STOIԠ נ ',I,'-TO 
POZICII');
WRITELN;
DELETE(K1,4,3) ( ISKL@^ENI TRE ZNAKO I STROK K1,NA^INA 
                     POZ.4*)
WRITELN(K1,' POSLE ISKL@^ENIQ TREH ZNAKOW,NA^INAQ S POZ. 4');
K3:='XXX';
INSERT(K3,K1,4;  (*WSTAWKA SIMWOLOW HHH W STROKU K1*)
WRITELN(K1,' POSLE WSTAWKI STROKI ',K3,' S POZ.4');
K2:='12,123';
VAL(K2,R,I);  (*PREOBRAZOWANIQ STROKI CIFR W ^ISLO*)
WRITELN('R:3:3,'  ',I,'=POZ.o[IBKA.zNAK NE WEREN.I>0');
K2:='12.123';
VAL(K2,R,I);
WRITELN(' STROKA ',K2,' PREOBRAZOWANA W ^ISLO ',R:3:3);
END.

.CP 23
         1.5. wSTROENNYE ^ISLOWYE FUNKCII.

       TURBO-pASKALŠ DOPOLNITELXN ˠ STANDARTNOMՠ OPREDELEN 
SLEDU@]I ^ISLOWY FUNKCII:
 FRAà :WOZWRA]AEԠ WE]ESTWENNOŠ ZNA^ENIŠ DROBNOʠ ^AST 
WE]ESTWENNOGϠ ^ISL (OTBRASYWANIŠ CELOʠ ^ASTI).cELO^ISLENNA 
PEREMENNA \TO FUNKCIE PREOBRAZUETS  NOLX.

INԠ  :WOZWRA]AEԠ CELU ^AST WE]ESTWENNOG ^ISL נ WIDŠ WE
]ESTWENNOGϠ ^ISLA,T.E OTBRASYWAE DROBNU ^ATST WE]ESTWENNOG 
^ISL  PREOBRAZUE POLU^ENNO ^ISL  WE]ESTWENNU FORMU.
    
     pRIMER:
VAR A,B,C :REAL;
        D :INTEGER;
A:=1.2345;
D:=34;
B:=FRAC(D);  (*PEREMENNAQ B POLU^IT ZNA^ENIE 0.0*)
C:=INT(D);   (*PEREMENNAQ C POLU^IT ZNA^ENIE 34.0*)
B:=FRAC(A);  (*PEREMENNAQ B POLU^IT ZNA^ENIE 0.2345 *)
C:=INT(A);   (*PEREMENNAQ C POLU^IT ZNA^ENIE 1.0 *)

.CP 8
       1.6.sTANDARTNYE MASSIWY.

      TURB OPREDELEN DW TIP BAJTOWYȠ MASSIWOW DEKLARACI 
KOTORY WSTROEN NEPOSREDSTWENN  KOMPILQTOR PO\TOM SSYLATXS 
N \Tɠ MASSIW  PROGRAMM SLEDUE BEڠ WSQKIȠ PREDWARITELXNY 
OB'QWLENIʠ  UTWERVDENIQ DEKLARACI PEREMENNYH |Tɠ DW TIP 
MASSIWO SUT SLEDU@]IE:

.CP 25
      1.6.  POR
     - USTANAWLIWAE PRQMO OBRA]ENIŠ ˠ PORTA PROCESSORA.

    oBRA]ENIE:
    PORT[<NOMEҠ PORTA>]:=<ZNA^ENIE>-ZASYLK BAJT  PORԠ <NOME 
PORTA>
    
    <PEREMENNAQ>:=PORT[<NOME PORTA>]-^TENI BAJT I PORTA<NOME 
PORTA   PEREMENNU <PEREMENNAQ>.

<ZNA^ENIE -ZADAET CELY ^ISLO O  D 25  DESQTI^NO  IL  
[ESTNADCATIRI^NOʠ FORME  POSLEDNE͠ SLU^AŠ PERE 
[ESTNADCATIRI^NY ^ISLO STAWITS ZNA $,NAPRIMER:
   -PEREKL@^ENIŠ PORT BAB N WYWO DLINNY STRO (48 ZNAKOW)- 
VA GROSS,PORTN :INTEGER;
BEGIN
GROSS:=$02 (*PRISWAIWANIE PRIZNAKA DLINNOJ STROKI*)
PORTNR:=$40 (*PRISWAIWANIE NOMERA PORA*)
PORT[PORTNR]:=GROSS;(*PEREKL@^ENI PORT N WYWO 48 ZNAKOW*)
END.

   nOMER PORTOנ  KOD ZNA^ENI MOVN NAJTɠ נ ZAWODSKIȠ IN
STRUKCIQȠ PϠ TEHNI^ESKOMՠ OBSLUVIWANI  MIKR |w ILɠ נ SPE
CIALXNO LITERATUR P MIKROPROCESSORA INTE 8080 K 580 Z8  
DR.

.CP 33
1.6.2 MEM[<aDRES> -ODNOMERNY BAJTOWY MASSI Q^EE PAMQT |wm. 

     oBRA]ENI  MASSIWU:
<PEREMENNAQ>:=MEM[<ADRES>] -
             ^TENI BAJT  ADRESO <ADRES I ozu  PEREMENNU 
<PEREMENNAQ> 
MEM[<ADRES>]:=<PEREMENNAQ>I<ZNA^ENIE>-
             ZASYLK ZNA^ENIѠ PEREMENNOʠ <PEREMENNAQ IL 
PRQMAѠ ZAPISؠ CELOG ^ISL <ZNA^ENIE נ ozu P 
ADRES <ADRES>.
     tA VE KA  DL MASSIW "PORT ZNA^ENI PEREMENNY - CELY 
^ISL O  D 25 IL O $ D $F  [ESTNACATIRI^NO FORME.
     zNA^ENIŠ ADRES BAJT oz <ADRES ZADAETSѠ CELY͠ ^ISLO 
NORMALXNO DLIN (TI INTEGE pASKALQ) 
     pRɠ ZADANI ADRES PRIMIT W WNIMANIE,^T POSKOLXKՠ CELO 
^ISLϠ NORMALXNO DLIN  pASKAL PREDSTAWLEN 1 BITAM Iڠ DWU 
BAJTOW(ODIΠ BIT-ZNAK),TϠ ADRES DϠ 3276 ILɠ $7FFƠ (2**15-
1)PREDSTAWLQ@TS POLOVITELXNYM ^ISLAMI,ADRES O 3276 IL $080 
DϠ 6553 IL $FFF PREDSTAWLQ@TSѠ OTRICATELXNYMɠ ^ISLAMI pR 
\TO͠ ADREӠ 3276 ($8001 PREDSTAWLQETS KAˠ -32767  ADRE 
65536,KA -0.
     pROGRAMMISTՠ SLEDUEԠ POLXZOWATXSѠ PRIWEDENNOʠ WY[ 
OSOBENNOSTX PREDSTAWLENI ADRESO PR PRQMO OBRA]ENI  oz I 
pASKALѠ TURBO oDNAKϠ PR PODOBNY OBRA]ENIQȠ MOVNϠ ZADAWAT 
ADRES נ [ESTNADCATIRI^NO WIDE ^T IZBAWI OԠ NEOBHODIMOST 
WY^ISLENIʠ OTRICATELXNY IZOBRAVENI ADRESOW WOZNIKA@]EGϠ PR 
DESQTIRI^NO I ZADANII         
     pRIME PRQMY OBRA]ENI  ozu:
VA I:BYTE
BEGIN
MEM[$F800]:=$41;(*ZAPIS KONSANT $4 P ADRES $F800*)
I:=MEM[$F8A1];(*PERESYLK SODERVIMOG BAJT $F8A  PEREMENNU@I*)
END.

.C 17
     1.7 wYZOW FUNKCI BDO  BIO OPERACIONNO SISTEMY.

       TURBϠ WERSIɠ DLѠ CP/͠ (Z80 SU]ESTWUEԠ WOZMOVNOST 
PRQMOG OBRA]ENI  FUNKCIQ OPERACIONNO SISTEMY.pOLNO OPISANI 
\TIȠ FUNKCIʠ DAETSѠ נ RUKOWODSTWAȠ PϠ OPERACIONNO 
SISTEME,NAPRIMEҠ נ UV NEODNOKRATNϠ UPOMINAW[EMSѠ RUKOWODSTW 
"SYSTEMHANDBUCȠ SCP.ANLEITUNǠ FUEҠ DEҠ PROGRAMMIEREN VE 
ROBOTROΠ BUEROMASCHIENENWERˠ SOEMERDA,1985. kRATKOŠ OPISANI 
FUNKCIʠ o CP/M-8 ɠ CP/M-8  MOVNϠ NAJTɠ נ STATX 
a.g.aLEKSEENKO,m.a.gLAZKOW  a.a.gALICYN "wYSOKONADEVNAѠ p|w 
N BAZŠ bi k1810wm86  VURNALŠ "mIKROPROCESSORNYŠ SREDSTW  
SISTEMY   Z 1987G.

     rAZMER٠ NASTOQ]EGϠ PEREWOD N DA@Ԡ WOZMOVNOSTɠ PODROBN 
PRIWODITؠ OPISANIѠ \TIȠ FUNKCIJ oDNAKO PEREWOD^Iˠ S^E 
NEOBHODIMY͠ Iڠ DIDAKTI^ESKI SOOBRAVENI PRIWESTɠ ZDESؠ SAMY 
OB]I POLOVENIQ KASA@]IES STRUKTUR OPERACIONNO SISTEM CP/M-
8 (SCP-1715).

.CP 15    
      1.7.1 oSNOWNY STRUKTURNY ^AST o CP/M-80.

      oPERACIONNA SISTEM CP/M-8 SOSTOI I SLEDU@]I MODULEJ:

1)BDOӠ -BASIà DISà OPERATINǠ SYSTE͠ (BAZOWOʠ DISKOWO 
OPERACIONNO SISTEMY).

   |TO MODUL SODERVI PROGRAMMY,OBESPE^IWA@]I OBME DANNYMɠ  
LOGI^ESKIM USTROJSTWAM WWODA/WYWODA NAKOPITELQM N GIBKI MD 
KLAWIATUROJ DISPLEM PRINTERO  T.D.
   BDOS-MA[INN NEZAWISIMY MODULX wS OPERACI  FUNKCIQM BDO 
PROIZWODQTSѠ N LOGI^ESKO͠ UROWN PUTE WYZOW IȠ Ӡ POMO]X 
SPECIALXNY KOMAND pARAMETR DL WYZOW BDOS-FUNKCI PEREDA@TS 
OBY^NϠ נ BOSXMIBITOWYʠ REGISTҠ "C CENTRALXNOGϠ PROCESSORA 
rEZULXTAԠ RABOT٠ FUNKCI WOZWRA]AETS LIB ^EREڠ WOSXMIBITOWY 
REGIST "A",LIB ^ERE [ESTNADCATIBITOWY (DWOJNOJ REGIST "HL".
     iMENN PO\TOM PR WYZOW FUNKCI BDO I TURBϠ PRIMENQETS 
FORMAԠ <PEREMENNAQ>:=BDOS(<NOMEҠ FUNKCII>,<PARAMETҠ WYZOWA>) 
ESLɠ TREBUETSѠ PRO^ITATؠ REZULXTAԠ Iڠ REGISTR "a  
<PEREMENNAQ>:=BDOSHL(<NOMEҠ FUNKCII>,<PARAMETҠ WYZOWA>,ESL 
TREBUETS PRO^ITAT REZULXTA I REGISTR "HL".
    BDOS-FUNKCIѠ MOVEԠ WYZYWATXSѠ KAˠ PROCEDURA,KOGD N 
TREBUETSѠ PROGRAMMISTՠ EŠ ^ISLOWOʠ REZULXTAT, WAVNϠ LI[ 
DEJSTWIE KOTOROŠ \T FUNKCI PROIZWODI  PROGRAMMŠ :NAPRIME 
OTKRYWAEԠ IL ZAKRYWAE FAJL,PEREDAE ZAPIS  FAJ̠ Iڠ BUFERA 
PODKL@^AE N WYWO PRINTE  T.D.
    ~EREڠ REGISTR٠ "A ILɠ "HL WOZWRA]A@TSѠ OBY^NϠ KODY 
SIGNALIZIRU@]IŠ O USPE[NOST RABOT FUNKCII ADRES RAZLI^NY 
WEKTOROW-HARAKTERISTIˠ WNE[NIȠ USTROJSTנ ɠ T.D wPOLN 
ESTESTWENNO ^TϠ \T SLUVEBNA INFORMACI N WSEGD INTERESUE 
DAVŠ SISTEMNOGϠ PROGRAMMISTA N GOWORѠ UVŠ Ϡ PROGRAMMISTE-
PRIKLADNIKE ~T KASAETS NEPOSREDSTWENNY DEJSTWI BDOS-FUNKCII 
TϠ IMENNϠ DL \TI DEJSTWIJ ZA^ASTU@ ɠ PROIZWODITSѠ WYZO 
FUNKCIɠ ɠ TOGD ON WYZYWAETSQ KAˠ PROCEDURA SOGLASN 
SLEDU@]EM FORMATU:
BDOS(<NOME FUNKCII>,<<PARAMET WYZOWA>) o^EWIDNO,^T PR WYZOW 
BDOS-FUNKCI P TIP PROCEDUR SOWER[ENN N WAVNO,UKAZA Lɠ PR 
WYZOW FORMA "BDOS IL "BDOSHL".

2 BIOS-BASI I AN OU SYSTE (bAZOWO SISTEM WWODA/WYWODA)
     BIOS-\TϠ MA[INNO-ZAWISIMYʠ MODULX.oΠ OSU]ESTWLQE 
NEPOSREDSTWENNϠ OPERACɠ OBMEN Ӡ WNE[NIMɠ USTROJSTWAMɠ N 
FIZI^ESKO UROWN  SWQZ  MA[INNO-NEZAWISIMYM FUNKCIQM BDOS.


     pODOBNAѠ STRUKTUR OPERACIONNOʠ SISTEM٠ OBESPE^IWAE 
LEGKOST E ADAPTACI  RAZLI^NY APPARATNY SREDSTWAM NAPRIMER 
 CENTRALXNY PROCESSORAM ISPOLXZU@]I RAZLI^NY SISTEM KOMAN 
 IME@]I RAZLI^NU RAZRQDNOSTX.
     BIOӠ NEPOSREDSTWENNϠ IL ^EREڠ BDOӠ WYPOLNQEԠ SLEDU@]I 
GRUPP OPERACIJ:
 - INICIACI SISTEM ("HOLODNYJ  "TEPLYJ ZAPUSKI);
 - WWOD/WYWO SIMWOLOW   
 - OPERACI OBMEN  DISKAMI;
    oBRA]ENIŠ ˠ PROGRAMMA͠ BIOӠ OSU]ESTWLQETSѠ ^EREڠ TA 
NAZYWAEMYʠ WEKTO PEREHODOW,RASPOLOVENNY  NA^ALŠ BIOS. \TO 
WEKTOR ZAPISAN KOMAND BEZUSLOWNY PEREHODO (JUMP  NA^ALXNY 
ADRESA FUNKCIONALXNY PODPROGRAM (RUTIN).
    aDREӠ PEREHOD PEREDAETS FUNKCI BIOӠ ^EREڠ WOSXMIBITNY 
REGISTR"C IL ^ERE DWOJNY REGISTR "BC IL "DE  ZAWISIMOST 
O NAZNA^ENI FUNKCII.
    BIOӠ WOZWRA]AE ZNA^ENI ^ERE WOSXMIBITNY REGIST "A IL 
DWOJNO REGIST "HL".
    oBRA]ENIŠ  BIOS-FUNKCIQ I TURB TO^N TAKO VE KA ɠ  
BDOS-FUNKCIQM  \TO͠ SMYSL DL PROGRAMMISTA RABOTA@]EGϠ  
TURBO OPERACI KA  BDOS-, TA   BIOS-FUNKCIQM PROISHODQ N 
LOGI^ESKO UROWNE.
    
     fORMAT OBRA]ENI  BIOS, KA  FUNKCIQM:
    - <PEREMENNAQ>:=BIOS(<NOMEҠ FUNKCII>,<PARAMETҠ WYZOWA>)-DL 
WOZWRAT  WOSXMIBITNOG SLOW ^ERE REGIST "C";
    -<PEREMENNAQ>:=BIOSHL(<NOME FUNKCII>,<PARAMETҠ WYZOWA>)-DL 
WOZWRAT [ESTNADCATIBITNOG SLOW ^ERE REGST "HL".
   
      fORMA OBRA]ENI  BIOS KA  PROCEDURAM:
    - BIOS(<NOME FUNKCII>,<PARAMET WYZOWA>).
      
     eSL TREBUETS POLU^IT REZULXTA RABOT BDO IL BIO ^ERE 
REGISTROWU PARՠ "HL ( \TOԠ REZULXTAT ZA^ASTU@,QWLQETS 
ADRESO͠ NEKOTOROʠ Q^EJK ozu) T NUVN U^ITYWATؠ OSOBENNOST 
PREDSTAWLENIѠ ADRESOנ נ TURBO Ϡ KOTORYȠ GOWORILOSؠ      
P.1.6.2.,TA KA  TURB NE STANDARTNOG PREDSTAWLENI ADRESO  
[ESTNADCATIRI^NO FORME.

  3 CCP-CONTRO COMMAN PROCESSO (PROCESSO KOMAN UPRAWLENIQ) 
CCР PEREDAETSѠ UPRAWLENIŠ POSLŠ "HOLODNOGO ILɠ "TEPLOGO 
ZAPUSKA.
      kOMANDNYʠ PROCESSOҠ (CCP ^ITAEԠ Ӡ KLAWIATUR٠ WWODIMY 
POSLEDOWATELXNOST SIMWOLOW INTERPRETIRUE I  WYZYWAE ODN I 
REZIDENTNY PROGRAM TAKIH,KA DIR-^TENI OGLAWLENI DISKA ER - 
UNI^TOVENI FAJLOW, REN-PEREIMENOWANI FAJLOW, TYPE-WYWO  FAJLO 
N \KRA  T.D.
      eSL  POSLEDOWATELXNOST SIMWOLO RASPOZNAETS IM KAKOGO- 
LIBϠ COM-FAJLA,TϠ WYZYWAETS PROGRAMM ZAGRUZ^IK ɠ UPRAWLENI 
PEREDAETS ZAGRUVENNO PROGRAMM D E OKON^ANIQ.
    dLѠ POLXZOWATELXSKIȠ PROGRAM͠ CP/͠ REZERWIRUEԠ ZON 
TPATRANSIENԠ PROGRA ARE (ZON PROGRAM POLXZOWATELQ).iMENNϠ  
\Tՠ ZONՠ SISTEMNYʠ ZAGRUZ^Iˠ POME]AEԠ ABSOL@TNYŠ KOD٠ DL 
WYPOLNENIQ 
    
.CP 35
         1.7.2 rASPOLOVENI O CP/M-8  PAMQT |wm.

      rASPREDELENIŠ PAMQT  SISTEM "TURBO PODROBN PRIWODITS 
נ ^AST III  DANNO PUNKT IDE RE^ O  OB]E͠ RASPREDELENI 
PAMQTɠ |w MEVDՠ MODULQMɠ OPERACIONNOʠ SISTEMY n RISUNK  
USLOWNϠ PREDSTAWLEN ADRESNO PROSTRANSTW |w  RASPOLOVENIŠ  
\TO PROSTRANSTW MODULE CP/M:
      
                WERHNQ GRANIC PAMQT $FFF (6 KILOBAJTA)
                   ---------------------    
                        BIO         ^
                   I              I    I
                   ----------------    I  ZONA W 12 KILOBAJT,
                   I     BDOS     I    I  ZANIMAEMAQ OC CP/M-80 
                   I              I    I  
                   ----------------    I
                   I     CCP      I    I
                   I              I    V
                   ---------------------
                   I              I    ^
                   I     TPA      I    I      POLXZOWATELXSKAQ 
                   I              I    I      ZONA 48 KILOBAJT
                   I              I    V
                   ---------------- ----- ADRES $100    
                   I  ZONA SWQZI  I
                   I              I
                   ----------------
                    NIVNQQ GRANICA PAMQTI $0000

      MODULQ BDOS BIOS CC  POLXZOWATELXSKO ZON TP UV 
GOWORILOSX nAZNA^ENI ZON SWQZ SLEDU@]EE:
     נ \TO ZON NAHODQTS BUFER WWODA/WYWODA BLO UPRAWLENI 
FAJLAMɠ (FILŠ CONTRO̠ BLOCK  ADRE PEREHOD ˠ ZAGRUZKŠ o  
"TEPLY ZAPUSK".

.CP 40
        1.7.3 pRIMER OBRA]ENI  BDO  BIO FUNKCIQM.

      pRIME^ANIE:KONKRETNY FUNKCI RAZLI^NY WERSI OPERACIONNY 
SISTE͠ MOGU OTLI^ATXS O PRIWODIMY נ PRIMERE,PO\TOMՠ DANNY 
PRIMER,DOLVEΠ RASSMATRIWATXS TOLXKO,KA DEMONSTRACIѠ SWOJSTW, 
N KA RUKOWODSTW  PRAKTI^ESKO RABOTE.

PROGRAM BDOSTEST;
(*pRQMYE WYZOWY BDOS- I BIOS-FUNKCIJ W TURBO-pASKALE*)
VAR I,J,K,DRIVE :INTEGER;
             ST :STRING[80];
           SIGN :BYTE;
(*$ɠ PWIHEX.PAS* 
(*dANNO INCLUDE-UTWERVDENI SSYLAETS N FAJL*)
(* W KOTOROM NAHODITSQ PROGRAMMA PREOBRAZOWANIQ DESQTI^NYH ^ISEL W *)
(* [ESTNADCATIRI^NOE PREDSTAWLENIE "WRITE_I_HEX"*)
BEGIN
CLRSCR;
WRITELN('BDOS-FUNKCI  TURBO-pASKALE':30);
WRITELN;
I:=BDOS(12) (*BDOS-FUNKCI 12->PEREDA^ NOMER WERSI CP/M*)
WRITE(I,'/');(*WYWO  DESQTI^NO FORM NOMER WERSI 3 DL CP/ 
                2.2*)
WRITE_I_HEX(I) (*dESQTI^NOŠ ZADANI DL I=3 NOME WERSIɠ DL 
                   CP/ 2.2-*)
          (*-{ESTNADCATIRI^NOE ^ISLO $0022.pROCEDURA WRITE_I_HEX *)
          ( WHODI  FAJ PWIHE I INCLUDE-UTWERVDENIQ*)
WRITELN;
ST:='\T - NEKOTORY TEKST'  
J:=ADDR(ST)   (*POLU^ENI ADRES NA^AL STROK S  ozu*)
BDOS(9,J)     (*BDOS-FUNKCI  ->WYWO STROK ST*)
WRITELN;
WRITE(J,'/') (*WYWO DESQTI^NOG ADRES NA^AL STROK S  ozu*)
WRITE_I_HEX(J)(*--"---{ESTNADCATIRI^NOG ------------"---------*)
WRITELN;
SIGN:=$41;(*zNA = $41,T.E.bUKW "A  KOD KOI *)
BDOS(5,SIGN) (*WYWO N PRINTE BUKW "A *)
WRITELN(CHR(SIGN)) (*WYWO N DISPLE BUKW "A *)
BDOS(13) ( SBRO DISKETNO SISTEM PR ZAMEN DISKA*)
I:=BDOSHL(31);(*^TENIŠ ADRES BLOK PARAMETROנ DISKA(DPB I 
                  REGISTR HL*)
WRITE_I_HEX(I);(*WYWO ADRES DP  [ESTNADCATIRI^NO FORME*)
END.

1.8 uKAZATEL WERHU[E STEKO -POINTERS, OPREDELENNY  TURBO.

      dL OBRA]ENI  oz  TURB OPREDELEN SLEDU@]I WSTROENNY 
UKAZATELI:
1 STACKPT  -UKAZATEL STEK  CENTRALXNOG PROCESSORA;
2 RECURPTҠ  -UKAZATEL STEK WOZWRAT PRɠ REKURSIWNO͠ WYZOW 
PROCEDUR;
3 HEAPPTҠ   -UKAZATEL "KU^I -OBLAST PAMQTɠ  RASPREDELQEMO 
pASKALX-KOMPILQTORO DINAMI^ESKI.

     wSEGD SLEDUE POMNITX,^T WERHU[K WY[EPERE^ISLENNY STEKO 
RASPOLAGA@TSѠ PϠ ZNA^ENI ADRESOנ TAK ^TϠ PRɠ L@BY 
OBSTOQTELXSTWA DOLVN IMET MEST OTNO[ENIE:
        HEAPPTR < RECURPTR < STACKPTR.  
.C 50
    eSLɠ PR OPERACIQ  UKAZATELQM \TϠ OTNO[ENIŠ PROGRAMMIS 
NARU[IT T MOVE PROIZOJT PRERYWANI PROGRAMMY ILI,POSKOLXK 
TURBϠ NŠ KONTROLIRUE WYPOLNENIŠ UKAZANNOGϠ SOOTNO[ENIQ,MOVE 
WOZNIKNUTؠ NALOVENIŠ  oz PEREMENNYH OPREDELQEMY Ӡ POMO]X 
\TIȠ UKAZATELEJ (s͠ ^ASTؠ IIɠ "DINAMI^ESKIŠ PEREMENNYŠ  
UKAZATELI").
    nIVŠ PRIWODITS PRIME (N N DL PRAKTI^ESKOGϠ WYPOLNENIQ 
ISPOLXZOWANI UKAZATEL STEK CENTRALXNOG PROCESSOR -STACKPTRR.
<VAR>:INTEGER;
SRACKPTR:=<VAR> (*zADANI UKAZATEL STEKA*)
<VAR>: STACKPTR;(*^TENI ZNA^ENI UKAZATEL STEKA*)

PRIMER:
PROGRA STACKTEST;
( TESTOWA PROGRAMM ZADANIQ/^TENI UKAZATEL STEKA*)
VA I:INTEGER;
(*$ PWIHEX.PAS* (*s ANALOGI^NO INCLUDE-UTWERVDENI  1.7.3*)
BEGIN
CLRSCR;
I:=0;
WRITELN('TES UKAZATEL STEKA':46);
I:=STACKPTR;
WRITE(I,'\') (*WOWO UKAZATEL STEK  DESQTI^NO FORME*)
WRITE_I_HEX(I);(*WYWO =..   [ESTNADCATIRI^NO FORME*)
STACKPTR:=I;
WRITELN
END.
 
      dL OPERACI WWODA/WYWOD OPREDELEN UKAZATELI:

-----------------------------------------------------------
UKAZATELX                  SOOTWETSTWU@]IJ ADRESU:
-----------------------------------------------------------
CONSTPTR                   CONST-FUNKCII BIOS
CONINPTR                   CONIN-FUNKCII BIOS
CONOUTPTR                  CONOUT-PROCEDURY BIOS
LSTOUTPTR                  LSTOUT-PROCEDURY BIOS
AUXOUTPTR                  AUXOUT-PROCEDURY BIOS
AUXINPTR                   AUXIN -FUNKCII BIOS
USROUTPTR                  USROUT-PROCEDURY BIOS
USRINPTR                   USRIN -PROCEDURY BIOS

      wS OPERACI WWODA/WWOD TURB OSU]ESTWLQE NEPOSREDSTWENN 
ZADANIŠ  WYWOD  N PRINTE SODERVIMOG \KRAN DISPLE ^ERE ^P 
wSLEDSTWI \TOGO PROCEDUR WWODA/WYWOD ZAMKNUT  PRIWEDENNY  
TABLICŠ UKAZATELɠ POKAZYWA@Ԡ ADRES \TIȠ PROCEDUҠ נ ozu 
oBRA]ENIŠ  SERWISNY PROCEDURA (RUTINA "ROUNTIN" BIOӠ MOVE 
PROIZWODITS TAKV  ^ERE \T UKAZATELI.
.PA
   1.9 cEPO^NY FAJLY(CHAIN  ISPOLNENI COM-FAJLO (EXECUTE).

    oPERATOR "CHAIN  "EXECUTE PROIZWODQ WYZO I ISPOLNQEMO 
PROGRAMM DRUGI PROGRAMM.
fORMAT:CHAIN<IM FAJLA>);<IM FAJLA>-NEKOTORY FAJ̠ SPECIALXNOG 
TIP (TIP ".CHAIN"). |TOM FAJL  GLAWNO PROCEDUR Ӡ POMO]X 
ASSIGN-FUNKCI pASKAL NAZNA^AETS IMQ KOTORO DOLVN  KA^ESTW 
ATRIBUT TIP SODERVAT ATRIBU ".CHAIN". kOMPILQCI \TOG FAJL 
DOLVN   PROIZWODITSѠ  OTDELXNϠ  Ӡ USTANOWLENIE͠ OPCI       
"COMPILIN - CHAIN (SM.~AST  P.2.1.11).
      pOSLŠ WYPOLNENIѠ WYZWANNOʠ CHAIN-PROGRAMM٠ WOZWRAԠ  
WYZWAW[U E PROGRAMM N PROIZWODITS  PEREDA^ PEREMENNYȠ I 
WYZYWA@]E PROGRAMM  WYZYWAEMU  N OSU]ESTWLQETSQ.
      pEREDA^ ZNA^ENI WOZMOVN TOLXK SLEDU@]I OBRAZOM:
נ WYZYWA@]Eʠ  WYZYWAEMO PROGRAMM PERMENNYE,ZNA^ENIѠ KOTORY 
NUVNϠ PEREDAT DOLVN BYT OPREDELEN  UTWERVDENIQȠ DEKLARACI 
PEREMENNYȠ TO^NϠ  ODINAKOWY MESTA   ODINAKOWO͠ PORQDKŠ  
NA^AL SPISK DEKLARACII.
     e]Š ODN WOZMOVNOSTؠ - ZADANIŠ ABSOL@TNYȠ PEREMENNYH 
aBSOL@TNYŠ PEREMENNYŠ - PEREMENNYE POME]AEMYŠ נ SPECIALXNU 
OB]U OBLASTؠ PAMQTI rASSMOTRENIŠ ABSOL@TNYȠ PEREMENNYȠ N 
WHODI  ZADA^ DANNOG POSOBIQ.
     pROGRAMMA POLU^ENNA  POMO]X KOMPILQCI  CHAIN-FAJL N 
 KILOBAJ KORO^E ^E \KWIWALENTNA EJ POLU^ENNA Ӡ POMO]X 
KOMPILQCI  COM-FAJL N SISTEMNY ZAGRUZ^I N MOVE ZAGRUZIT 
CHAIN-FAJ̠ SAMOSTOQTELXNϠ  PEREDATؠ EMՠ UPRAWLENIE,POSKOLXK 
UKAZANI  EG ZAGRUZK NAHODQTS  GLAWNO PROCEDURE WYZYWA@]E 
\TO FAJL  iMEN CHAIN-FAJL  GLAWNO PROCEDUR N DOLVN BYT 
ODINAKOWYMI!
     EXECUTŠ - OSU]ESTWLQE WYZO WYBRANNOʠ PROGRAMMY IME@]E 
TI ".COM" wYZYWAEMA PROGRAMM ZAGRUVAETS נ POLXZOWATELXSKU 
ZON (TPA  ADRES $100 ZAME]A TAKI OBRAZO  oz WYZYWA@]U 
PROGRAMMU wYZOנ PROGRAMM MOVE OSU]ESTWLQTXS LIB I GLAWNO 
TURBO-PROGRAMM٠  POMO]X CHAIN/EXECUT UTWERVDENIJ,LIBϠ DRUGI 
SPOSOBOM  IMENNO:
Iڠ TURB POME]AETS  KOMANDNU STROK  ADRES $8 ZNA^ENI $F 
,ESLɠ AKTIWIRUETSѠ KOMAND CHAIΠ ILɠ EXECUTE. pRɠ WYZOW 
PROGRAMM SKOMPILIROWANNY  POMO]X TURBO, I DRUGIȠ NE-TURBO- 
PROGRAMM SLEDUEԠ POMNITX ^TϠ ONɠ PRɠ WYZOWŠ NŠ PEREDA@ 
KOMANDNU STROKՠ  נ ADREӠ $80 PO\TOMՠ MOGUԠ WOZNIKNUT 
NEPREDSKAZUEMY SITUACI W WREM WYPOLNENI TAKI PROGRAMM.
     SLEDU@]E͠ PRIMERŠ PROGRAMM CHTESԠ WYZYWAEԠ PROGRAMM 
CHAIN.
pRIMITŠ WϠ WNIMANIE,^T  ASSIGN-PROCEDUR ZADAETS POLNOŠ IM 
WYZYWAEMO PROGRAMMY.
PROGRA CHTEST;
(*tEST-PROGRAMM DL CHAIN-FUNKCI BE PEREDA^ DANNYH*)
VA CHFILE:FILE;
BEGIN
ASSIGN(CHFILE,'A:CHAIN.CHN');
CLRSCR;
WRITELN('pROGRAMM 1');
CHAIN(CHFILE);(*WYZO PROGRAMM "CHAIN.CHN S DISK "a"*)
END.
PROGRA CHAIN;
BEGIN
WRITELN('pROGRAMM 2')
END.
      kA UV GOWORILOSX FAJ TIP ".CHAIN NEPOSREDSTWENNϠ N 
ZAGRUVETS  N ISPOLNQETSQ HOT  TURB WERSI 2.00  WOZMOVN 
 POMO]X CHAI  EXECUT POSTROENI OWERLEJNY PROGRAMM.

       1.10. rAS[IRENIE OPERATORA CASE -WYBOR.

      OPERATORŠ CASŠ DOPUSKAETSQ נ KA^ESTWŠ ZAWER[A@]E 
KONSTRUKCII ALXTERNATIW "ELSE".
     pRIMER:
     VA  A:CHAR;
      ....
     CAS  OF
          'A   :WRITE('A');
          'B   :WRITE('B')
     ELS WRITE( dRUGA BUKWA.')
     END;
      ....
     
        1.11. tIPIZIROWANNYE KONSTANTY.
   
      TURB WOZMOVN ZADANI KONSTAN  UKAZANIE I TIPOW.tAKI 
TIPIZIROWANNYŠ KONSTANT  MOVN UPOTREBLQT  PROGRAMMA IL KA 
NORMALXNYŠ KONSTANTY ILɠ KAˠ PEREMENNYE.tIPIZIROWANNY 
KONSTANTY  TOM VE RAZRE[AETS PREBRAZOWYWAT  PEREMENNYE.
pRIMER:
CONS A:INTEGER=104;
      B:REAL=12.1234;
      C:STRING[20]='|T - TEKST';
.PA
        2.sTANDARTNY TEKSTOWY FAJLY.

       KOMPILQTORŠ OPREDELEN STANDARTNY FAJL٠ TIP "TEXT" 
INPU  OUTPUT kAVDO OBRA]ENI  STANDARTNY PROCEDURA OBMEN 
READ/READLΠ ILɠ WRITE/WRITELΠ UTSANAWLIWAEԠ SWQZؠ Ӡ \TIM 
FAJLAMI.
      sϠ STANDARTNYM FAJLAM INPU  OUTPUԠ SWQZAN٠ LOGI^ESK 
USTROJSTW CON-KONSOL  TRM-TERMINAL.
      dL \TI FAJLO PRIMENENI PROCEDU ASSIGN RESET,REWRITE  
CLOSŠ - ZAPRE]ENO uPRAWLENI \TIM FAJLAM PROIZWODITSѠ ^ERE 
OBRA]ENIŠ ˠ I IMENA  PROCEDURA WWODA/WYWOD PUTE͠ UKAZANI 
SPECIALXNYȠ PARAMETROנ נ READ/READLΠ ILɠ WRITE/WRITELN. |T 
PARAMETR WKL@^A@TS  NA^AL SPISK WWODA/WYWOD  OTDELQ@TS O 
NEG ZAPQTOJ.
pRIMER:
WRITE(LST,'TEKS DL PE^ATI') (*WYWODI TEKS N PRINTER*)
READLN(KBD,PASSWORD)          (*WWO PEREMENNO PASSWORD(PAROLX                                  
                                 BE   IZOBRAVENI   E  N   DISPLEE*)

pRIMENQ@TS SLEDU@]I UPRAWLQ@]I PARAMETRY:

 INPU -CO IL TR NAZNA^A@TS (pERWONA^ALXN - WHODNO FAJL).
 
 OUTPUT-CO IL TR NAZNA^A@TS (pERWONA^ALXN - WYHODNO FAJL)

 CO   -CO NAZNA^AETSQ.
 
 TRM   -TRM NAZNA^AETSQ.

 KBĠ  -NAZNA^AE WWO DANNY  KLAWIATUR (KEYBOARD)BE IȠ \HO-
IZOBRAVENI N \KRANE.dL WYWOD DANNY - N PRIMENIMO.

 AUؠ  -AUؠ NAZNA^AETSQ wWOD/WYWOĠ DANNYȠ WOZMOVEΠ ^ERE 
STANDARTNYʠ POSLEDOWATELXNYʠ KANAL KOTORYʠ OBSLUVIWAETS 
OPERACIONNO SISTEMOJ eSL  OPERACIONNO SISTEM TAKO KANA N 
PREDUSMOTRE - PARAMET N RABOTAET.

LS    - KA^ESTW USTROJSTW WYWOD NAZNA^AETS PRINTER.

USҠ   -OPREDELQ@TSѠ OPERACIɠ Ӡ FAJLAMɠ INDIWIDUALXNY 
POLXZOWATELEJ.

     pROCEDUR٠ SEEˠ ɠ FLUSH,RAWNϠ KAˠ ɠ FUNKCIɠ FILEPOӠ  
FILESIZ - NEPRIMENIM  STANDARTNY FAJLA TIP TEXT 
     pR ISPOLXZOWANI FUNKCI  EOL (EN O LINE-KONE STROKI  
EOF(EN O FILE-KONE FAJLA SLEDUE PRINQT W WNIMANIE,^TϠ ON 
PROWERQ@Ԡ N OKON^ANI STROK IL FAJ PUTE͠ PROWERKɠ NALI^I 
NEKOTOROG SIMWOL ( IMENO:SIMWOL WOZWRAT KARETK -$0 IL ^M 
Z POSLEDNI͠ ZNA^A]I͠ LOGI^ESKɠ SIMWOLO͠ FAJL ILɠ STROKI 
PO\TOMՠ PRɠ WWODE/WYWODŠ SAM SIMWOL KONC FAJL ILɠ KONC 
STROK NA/ USTROJSTW WWODA/WYWOD N ^ITA@TSQ!

.C 25
      2.1 zADANI FORMATNOG WYWOD  PROCEDURA WRITE/WRITELN.

   pR OBRA]ENI  TEKSTOWYM FAJLAM WOZMOVN ZADANI FORMATOW.
fORMA ZADANI FORMATA WRITE(F,E)
PARAMET              VA F:TXT;
                          E:[ABLON,IME@]I FORM E: IL E:N:M,
                            GD   M-CELY ^ISLA.
 :CHA         POSL N- PROBELO WYWODITS SIMWOL;
Š:STRINǠ    STROK  E  RAWNQETSѠ  PϠ  PRAWOMՠ KRA 
                  [ABLONA,ZADANNOG  ZNAKOMESTAMI.
 :BOOLEA      TRU IL FALS RAWNQ@TS P PRAWOM KRA [ABLON 
                  I  ZNAKOMEST.
 :INTEGE      ZNA^ENI E PEREWODITS  DESQTI^NU FORM  
                  RAWNQETSѠ PϠ PRAWOMՠ KRA [ABLON Iڠ  
                  ZNAKOMEST.
Š:REA̠        ZNA^ENIŠ  PEREWODITS  נ DESQTI^NU FORMՠ  
                  IZOBRAVAETSѠ Ӡ WYRAWNIWNIE PϠ PRAWOMՠ KRA                   
                  [ABLON I  ZNAKOMES   DESQTI^NYM ZNAKAM 
                  POSLŠ TO^KI.eSLɠ PARAMETҠ ͠ NŠ ZADAN,T 
                  WE]ESTWENNOŠ ^ISL WYWODITS  LOGARIFMI^ESKO 
                  FORM   ZNAKAMI.
    nEPRAWILXNOŠ ZADANIŠ PARAMETROנ FORMATIROWANI 
KLASSIFICIRUETS KOMPILQTORO  KA SINTAKSI^ESKA O[IBKA  
    pRɠ ZADANI WRITEL BE SPISK PEREMENY PROIZWODITSѠ WYWO 
PUSTO STROK (PEREWO STROKI).
.PA    
       3. sUVENIQ TURBO PO SRAWNENI@ SO STANDARTNYM pASKALEM.

       TURB PROTI STANDARTNOG pASKALѠ SU]ESTWU@Ԡ SLEDU@]I 
SUVENIQ:

PROCEDUR PU  GE N WKL@^EN  TRANSLQTOR OBRA]ENI  DANNYM 
PROIZWODITSѠ Ӡ POMO]X PROCEDUҠ WRITE/WRITELΠ  
READ/READLN,KOTORY IME@TS   STANDARTNO pASKALE.

bEZUSLOWNY PEREHO I PROCEDURNOG BLOK WOWN N RAZRE[EN.

PAGE, KA STANDARTNA PROCEDURA N WKL@^EN נ TRANSLQTOR dL 
O^ISTK \KRAN PRIMENQETS KOMAND CLRSC IL WRITE(#12).

PACKEĠ HOTѠ  WKL@^EN  SPISO KL@^EWY SLO  KOMPILQTOҠ \T 
SLOWϠ "PONIMAET" N DEJSTWI NIKAKIȠ NŠ PROIZWODIT.pROCEDUR 
PAC  UNPAC  SWQZ  \TI - N WKL@^EN  TRANSLQTOR.

pROCEDUR٠ ɠ FUNKCI N MOGU PEREDAWATXS PARAMETRAM נ DRUGI 
PROCEDUR  FUNKCII.

 PROCEDUR NE NELXZ ZADAWAT STRUKTUR ZAPISE Ӡ WARIANTAMI 
|T ISKL@^ENI MOVN OBOJT PUTE OBRA]ENI  PROCEDUR GETMEM.

 REKURSIWNY PROCEDURA N DOPUSKA@TS LOKALXNYŠ PEREMENNYŠ  
KA^ESTW PARAMETROW.
.PA
.PA
