.65 
.

  











                             -      
                           ---------------
                             
                    ==============================



       ॢ  檮  㪮⢠ 짮⥫ ⥬
 
                             PASCAL- TURBO

                          " ROBOTRON 1715 "







                              III.




                .
.

. 2
     1.  ⥫ ( POINTER).
     -----------------------
      "㪠⥫" । ⥬     ^( ५ 

), ⠢饣 ।  ⨯ ᫥  =  ।-

⥫ ⨯, ਬ:  TYPE  CONNECTION  =^DATASTRING;.
       "㪠⥫" । ᪨  ६,  .. 

६ (६),  '  ணࠬ  ⨯ "㪠-

⥫",      ᪨,  ।-

⥫쭮 㪠 䠪᪨ ࠭ ६,     

, ਬ,  砥 ' ᪮  ᨢ.
    ᫥  ⮣,   ६ ⠭ 㦭,  , 

  ,    ᢮     ⠭⭮ 

楤  DISPOSE(<  ᪮ ६>).
    ६,  騥  ⨯ "㪠⥫",   ࠢ   

  権   =  < >.    ࠢ     ⨯ 

 BOOLEAN,  ⠪ ,    ࠢ ᪨ ६.
   㣨  樨  㪠⥫ﬨ 饭.
   ⠭୮  祭 㪠⥫ " NIL"       

㪠⥫." NIL"  砥 㫥 祭 ᪮ ६-

.
         ᪨ ६ 뤥  ࠭-

஬ ⮬᪨  ६ 믮 ணࠬ,  -

  㪠⥫ 室   ,  -

  ⮣, ⮡    뫮   ६ 

  ⨯.   ६    ⮩,  ⠪   

᫨  ஢ ⨯.
      㪠⥫  ࣠뢠 易 (楯-

)  ᪨  .  ⮣  ६,   

뫠  㪠⥫,  ⨯  ( RECORD),     

 ன ᮤন 뫪  㠧⥫.
    ਬ । 㪠⥫:
     TYPE PERSONPOINTER =^PERSON;
         PERSON        = RECORD
                         NAME       :STRING[50];(*   筮*)
                          SPECIALITY :STRING[50]; (*  ᨨ *)
                          NEXTPERSON :PERSONPOINTER;(*   뫪
                                                 ᫥ *)
                          END;
     VAR
        FIRSTPERSON,LASTPERSON,NEWPERSON:PERSONPOINTER;

      ।     ६    ⨯    㪠⥫ 

( POINTER).    㪠뢠  ,  ⨯   PERSON.   -

ॡ  ६ ⨯ "㪠⥫  ⨯"   ࠦ,  

ॡ  뫮筠 ६  ⮫쪮 ᫥  ࠧ-

     ^,  頥 ᫥  ᮮ⢥-

饩  ६.  ⮬ 砥 ६ ⨯ "㪠⥫" 

ਮ⠥  ⨯,   㪠  뫪,    ⨯ 㪠-

⥫.
   ਬ,  ᫨ ᠭ 楤 ⥭   GETRECORD    

ଠ ࠬ஬, 騬 ⨯  PERSON,    ⥭  

㤠     楤  GETRECORD (KO  ᫥ -

 ࠭)   ,    ᪨ 㪠뢠 

⨯  PERSONPOINTER,  㦭  ᫥饥:

 NEW(FIRSTPERSON);  (* 祭 뫪   ,ᯮ㥬
                     ࠭ ६  FIRSTPERSON*)
GETRECORD(FIRSTPERSON^);(*       ⨯
                         PERSON   뫪    FIRSTPERSON*)
       ⠭⭠ 楤  NEW,  ࠬ஬ ன   

 ६,  ⨯ 㪠⥫, 뤥   -

᪨  ,   ࠭   ⨯, 

  뫠 㪠⥫.
     㣮   ᪮ 뤥   

 ࠭ ६,   뫠 㪠⥫,  

㯮ॡ ⠭⭮ 楤  GETMEM    NEW.
      楤  ࠬ <६ _ ⨯ _ 㪠⥫>  

<楫  ᫮>.  ࠬ   ⨯  㪠⥫   

   ,  ன 砥    ᪮ 

६ ॡ㥬 ࠧ ⨢   .   

ࠧ   㯮ॡ 楤  GETMEM  ।  ࠧ 

,   ᪮ ६,   ணࠬ-

,    㯮ॡ 楤  NEW    믮 

࠭ ⮬᪨,  , ,   ᠬ ⨬-

 ࠧ.
    ᪠   ६,   ࠧ  ன   㪠뢠, 

頥        ࠭,뢠  "祩" 

( HEEP). " " ᯮ   稭  ࢮ ᢮ 

 (,   ணࠬ ⥪⮬)  ࠥ   

  訬 ᮬ ( 쬨⮢ ஢    

ࠢ $ FFFF ).
     ࠭   TURBO  ࠢ "祩"   祭  ⠪ 

뢠 㪠⥫ "" ( HEEPPOINTER),   ⠢   

砫 ணࠬ  㪠뢠   ᢮  "" .
       㯮ॡ   NEW    GETMEM   㪠⥫  "" 

㤥  ⮬᪨  ( 砥 㯮ॡ  NEW)  ,   "-

"(  砥 ᯮ짮  GETMEM)  ⠭     

 ᢮  "" .
   ⠭⭠  㭪   AVAIL  (MEMORY  AVAILABLE- 㯭 

)  頥 楫 祭 ࠧ ""  ,᢮-

   . 㭪   ࠬ஢.
   ⠭⭠  㭪  MAXAVAL  (MAXIMUM  AVALABLE-  ᨬ쭮 

㯭)  頥 楫 祭 ࠢ ᨬ쭮 ࠧ-

  ,   祭  ࠭஬       ணࠬ, 

᪮  ࠧ  ""        ணࠬ:  祬 

     ⥪ ணࠬ,  ⥬   -

   ६ ணࠬ-"".
   ⠭  㭪樨   ORD (ORDER - 冷)    PTR  (POINTER-

 㪠⥫)  㦠    ८ࠧ  㪠⥫   

楫᫥ ६  ⭮.
    ORD(<POINTER>)- 頥  楫  祭  ᮤঠ饣   

㪠⥫ .
    PTR(< ᫥   ६>)-८ࠧ  楫᫥ 

६   㪠⥫,   ᯮ   ६   

⢥ .
   ᢮ ᪨ ⮩ ,   㦥 ਫ 

,    ⢫     ⠭⭮  楤 

 DISPOSE,   ࠬ஬  ன    ६,  ᮧ 

楤 O   NEW .

 ஬ ⮩ 楤,    㣠  ᢮-

 ᪨ ⮩ : 楤  MARK/RELEASE.  ᫨ 

  ᪨   楤  GETMEM,    ᢮-

     楤  FREEMEM.   ⮬ 砥 㦭 

㪠    楤   FREEMEM   筮      , 

  뫠   ᮮ⢥饩 楤  GETMEM    

ࠬࠬ .
   ᢮  ᪮ ६     ⢫ 

   饭  ᢮騬 楤ࠬ ⮫쪮  ,  

 ᫥, ᯮ   ६: ᢮-

  ६   । "" .    ந室 

⮬, ᪨ ६ 㦠    ⨯ 

⥪:  襫-襫 ᫥.
   ᪨   ᢮  ᯮᮡ:
     楤  DISPOSE(< ६ ⨯ 㪠⥫>)  

६   POINTER- ⨯  ᢮         

.
        楤   MARK(< ६  ⨯  㪠⥫>) 

 POINTER- ६ 砥,  ⥬    㤠  

"" 楤ன  RELEASE(< ६ ⨯  㪠⥫>).   

ࠧ, 㤠   ⮩ 楤 ᪠ -

 த  㯭.
      ᫥  ᮫⭮   -  ६ 

ணࠬ  ⠭⭠ 㭪  ADR(<  ६>): 

  㭪 頥 楫 筮 祭   -

.  ᫨ ६   ⨯,  頥 

 ࢮ  ⮩ ६.
     ⠪ 饭 ᮢ ⥩ : -

⮢ ᨢ,     ..

            2.   ""  ⥪.     
            ---------------------------------
   ⥫  ⥪ ( STACKPOINTER)  । ᢮   

""  訬 ᮬ.
   ⥫ ४ᨨ ( RECURPTR)  뢥   1   

 (400  HEX),  祬  STACKPOINTER.
    ⥬   ஢      饭     楤ࠬ 

 NEW/GETMEM      ४ᨢ 楤ࠬ,  믮   -

⭮襭:  HEAPPTR<RECURPTR.
      砥 ,᫨  ᮮ⭮襭   믮- 

ᮮ饭  訡 ६ ᯮ ( RUN TIME ERROR).
    ஢ઠ  ᫮:  室  㪠⥫ ⥪  ( STACKPTR) 

 ,祬 㪠⥫ ४ᨨ ( RECURPTR)   ந.  

஢ઠ   室, ४ᨢ 楤-

 ᥡ 뢠  祬 300-400 ࠧ.  ⮬ 砥 㪠⥫ 

⥪    ।  ஭ 㢥祭.    ⮣ 

㦭 믮 ᫥  ᢠ  祭 

㪠⥫ ४ᨨ:
              RECURPTR:=STACKPTR-2*MAXDEPTH-512,
       :  MAXDEPTH-  ᨬ쭠 㡨 ४ᨨ  ண-
ࠬ,
           512 -㢥祭  ( ),।祭 
࠭ ࠬ஢  譨 뫮.


            3 . । .
            -------------------------
     3.1.।   樨  
     (  " COMPILE -->MEMORY)

  +-------------------------------+    0000  HEX
  I                               I  <-  樮 ⥬  CP/M
  I                               I  (  裡)
  +-------------------------------+
   I                               I <-  ⥪ ᪠
  +-------------------------------+
   I                               I <-  䥩  TURBO,  ।,
   I                               I     
  +-------------------------------+   
   I                               I <-  ᮮ饭  訡,᫨
   I                               I      㦥
  +-------------------------------+
   I                               I <-  ⥪ ணࠬ  ᪠
   I                               I
  +-------------------------------+
  I                               I
  I                               I  <-  ' . ᯮ
   I                               I    "  ᭨-"  訬 
   I                               I      ᮬ ⠡ 
  +-------------------------------+
   I                               I  <-  ⠡  ᯮ
   I                               I  " ᢥ-", 稭  襣
   I                                  I  , ⮣ '묨 
  +-------------------------------+
   I                               I   ⥪ 業ࠫ쭮 
  +-------------------------------+
   I                               I   樮 ⥬  CP/ ( BIOS,BDOS   
   I                               I   . ணࠬ)
   I                               I
  +-------------------------------+  訩   ( FFFF HEX  
                                    쬨   FFFFFFFF HEX  
                                    ⭠⨡  )                  
                   
            3.2.  ।   樨  ᪥
             (   COMPILE-->COMFILE)
     
     ।   ⮬ 砥 筮 㭪 3.1   

,      稢  室  ⥪  ணࠬ    

᪠.  ᯮ  '  ⭮⥫쭮 讣 

 뢮,      ࠭᫨㥬  -

ࠬ,  室    ⮬ ,    ० 樨 

3.1.  ᯮ    '  ᥩ  ࠭᫨஢ 

ணࠬ.  ᪮,  㦥 ਫ, 室   

ᥣ  ,  祬   ணࠬ,         

.  ᪫祭 ⠢  砩,   室 -

ࠬ  ⮫쪮,   '⭠ (࠭᫨஢)  -

ࠬ   , 祬 稭 室 .
.         

           3.3.।   㦥
               '⭮ ணࠬ.
            室  ⥪   ᪠  । 

   筮 㭪⠬ 3.1  3.2.
   室  ⥪   ᪠ ⠥       믮 

ணࠬ, ࠭᫨஢ ।⢥  . 室-

 ⥪⮬   ᫥饥 । :
  I                                 I <-  室 ⥪  ᪠
 +---------------------------------+       
  I                                 I <-  '  ணࠬ
  I                                 I
 I                                 I
 +---------------------------------+ <-  砫 "":設 
  I                                 I    ᯮ  襬
  I                                 I    ᢮ .
  I                                 I^RECURPTR
 +---------------------------------+<-  設 㪠⥫ ४ᨨ
  I                                 I 
 I                                 I ^ STACKPTR                     
 +---------------------------------+<-  設 㪠⥫ ⥪
  I                                 I<-   ⠡ :稭
  I                                 I     襣 .
 +---------------------------------+ 
  I                                 I<-  樮 ⥬  CP/ 
 +---------------------------------+ 
           3.4. ।   믮
                    䠩 ( COM-FILES) 
 +---------------------------------+
 I                                 I    CP/  ( 裡)
 +---------------------------------+ <- 100  HEX
 I                                 I <- ⥪ ᪠-8 , -
  I                                 I  , ᮫ ६.
 +---------------------------------+ <- ⮢  ணࠬ
  I                                 I <- '  
  I                                 I
 +---------------------------------+ <- 設 㪠⥫ ""
  I                                 I   ࠡ  ""
  I                                 I 
 +---------------------------------+ <- 㪠⥫ 設 ⥪ ४-
  I                                 I    ᨨ
  I                                 I    ⥪ ४ᨨ
 +---------------------------------+ <-㪠⥫ 設 ⥪ - 
  I                                 I  . ⥪ .
 +---------------------------------+<-  ⠡ 
  I                                 I <- ஥ 稪  TURBO
 +-------------------------------- +
 I                                 I    CP/M
 +---------------------------------+


