
     22.   
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     ᫥ ᠭ ᨬ @ 砥    ࢮ
,  ६   ⨯.  ⮡  
 祭   ६,  ᯮ짮 ⠭-
⭮ 㭪樥 ADDR.


     ⨯ 
    ===================

     ⨯    㯯஢   (-
ᨢ, ,  ᪮ 䠩),   ஢ -
     ७ ଠ.


     ⨯
    ------------

    騥  ⨯   ࠭      :
BYTE, १  ⨯ INTEGER   ࠭栬  
0..255,  BOOLEAN, CHAR    ⨯  ᫮ -
  祭    256.   ७ ।⠢
ᮤন 浪 祭 ६.

    騥  ⨯   ࠭  : IN-
TEGER, १  ⨯  INTEGER,   ண    ࠭
室  ।  0..255,   ⠪  -
 ⨯   ᫮  祭  256.    
ᮤঠ 16-ࠧ來 祭      筮  ,
祬 訩  祭  ࠭   .


     ⨯ REAL
    ----------------

     ⨯  REAL      6   ।⠢
ᮡ 祭  饩 窮,  饥    40-ࠧ來
   8-ࠧ來 筮 浪.  冷 ࠭ 
ࢮ ,    -   ᫥    ,  祬
訩  祭   ࠭ .  룫廊
᫥騬 ࠧ:


    @    冷
    @+1  訩  祭  
    ......................................
    @+5  訩  祭  

     ।⠢ 浪 ᯮ   ଠ  
ᬥ饭 $80.  ⥫쭮,  冷,  ࠢ $84, 砥,
 祭   㬭  2^($84-$80) = 2^4  =
16. ᫨  冷  ࠢ  ,   祭  饩 窮
⠥ ࠢ .

    祭  砥 ।⢮  40-ࠧ-
  楫  2^40.  ᥣ  -
, ..  訩  祭 ࠧ   ᥣ
 ஢    1  ( ࠧ 7 ⮣ ).
⮬  ⮬ ࠧ拉 ࠭  , 祬 1 -
,  ᫮ ⥫쭮,   0 - ⥫쭮.

    ப
    ------

    ᫮ ⮢ ,   ப,  ࠢ    
 .      ७ ।⠢ ᮤন
⥪  ப.  ⠫  ᮤঠ ᨬ ப,
祬  ࢮ ᨬ ࠭  祩  訬 -
ᮬ.    ⠡ L 砥  ப,  Max
-  ᨬ .

    @        ப (L)
    @+1     ᨬ
    @+2    ன ᨬ
    .......................
    @+L    ᫥ ᨬ
    @+L+1   ᯮ
    .......................
    @+Max   ᯮ


    ⢠
    ---------

      ⢠     ,    ᪮
ᨬ쭮 ᫮  ⮢  ⢠  ࠢ  256,  ६-
-⢮        32 -
⮢ (256/8).

    ᫨ ⢮  ᮤন  256 ⮢,   
    ६ ࠢ ,  ⮬   ॡ
࠭.   ᫥,    ᫥   訬
ᯮᮡ ࠭ ६-⢠  ⨯  뫮  
"祭"    ⮢  横᪨ ᤢ  -
⠢, ⠪ ⮡ ࢮ   ⢠  ᮮ⢥⢮
   ࢮ  .   ⠪ 樨 横᪮
ᤢ  쬠 묨,   ࡮-᪠  ।
⮬ ᫥騩  ஬:     ࠭ ⮫쪮 
,  ᪨ ࠢ , ..  ,  
 ᯮ      .   ⮤ ᦠ ࠡ⠥
祭    設⢥ 砥 뢠 ⮫   -
  ⭮襭 ,   ⮤ 横᪮ ᤢ.

    ᫮ ⮢ ,   ६-⢮, -
 ᫥騬 ࠧ:

    (Max div 8) - (Min div 8) + 1

     Max  Min -     ࠭   ⨯
 ⢠.     ⭮  E -
 ᫥騬 ࠧ:

    MemAddress = @ + (E div 8) - (Min div 8)

         MemAddress  ⠪:

    BitAddress = E mod 8

     E 砥 浪 祭    -
⢠.


    䥩  䠩
    -------------------------

      ଠ 䥩᭮  䠩 (FIB):

    @      䫠
    @+1    ᨬ
    @+2   ⥫  ᥪ (訩 )
    @+3   ⥫  ᥪ (訩 )
    @+4   ᫮ ᥩ (訩 )
    @+5   ᫮ ᥩ (訩 )
    @+6     (訩 )
    @+7     (訩 )
    @+8     (訩 )
    @+9     (訩 )
    @+10   ᯮ
    @+11   ᯮ
    @+12    FCB CP/M
    ........................
    @+47  ᫥  FCB CP/M
    @+48     ᥪ
    ........................
    @+175 ᫥   ᥪ

     䫠   @+0  ᫥騩 ଠ:

     0..3    䠩
     4        ⥭
     5        
     6        뢮
     7        

     䠩 0 砥 ᪮ 䠩,   ⨯ 䠩  1 
5  ᪨ ன⢠ ࡮-᪠ (CON: , KBD: ,
LST: ,  AUX:   USR:).   䠩,   ⨯ ( ᫥
⮢ 䠩)  4 ⠭,  ᫨ ᮤন 
ᥪ ।,    5 ⠭,  ᫨   
ᥪ 뫨 ᠭ .   ⥪⮢ 䠩  5 -
, ᫨  ᨬ ᮤন ।⥫쭮 ⠭-
 ᨬ.  6 ⠭, ᫨ ࠧ襭 뢮,   7
⠭, ᫨ ࠧ襭 .

    ⥫  ᥪ ᮤন ᬥ饭 (0..127)  
 ᥪ, ᯮ   @+48.   䠩 
⨯, ⠪   䠩  ⨯  ᫮  @+4  @+9  ᮤ-
 ᫮ ᥩ  䠩,        ⥪-
饩 .   䥩᭮   䠩  ⨯  
ᥪ, ⮬  㪠⥫  ᥪ  ⮬ 砥  -
.

     ⥪⮢ 䠩 砥  ᪮  ன⢮,
 䥩᭮    䠩  ᯮ ⮫쪮  䫠 
 ᨬ.


    ⥫
    ---------

    ⥫ ⮨    ⮢,  ᮤঠ 16-ࠧ來
 ,  ࠭    ⭮ "ॢ஢"
ଠ,   訩  祭  ᯮ  
. 祭 NIL ।⠢ 㫥 ᫮.


     
    ================

         ⨯   ᯮ-
 ࠧ ⮤ 樨.   ⠪ ⮤
樨: ᨢ,    ᪮ 䠩. ஢
   ࠧ       ७ ।⠢
室    ⨯ .

    ᨢ
    -------

     ᨢ  訬 祭ﬨ  -
   訥  .    ᨢ  ࠭
⠪,   ᠬ ࠢ  ⠥ ॥ ᥣ.  -
, ᨢ

    Board: array [1..8,1..8] of Square

    㤥 ࠭   ᫥騬 ࠧ:

    訩 :  Board[1,1]
                       Board[1,2]
                       ..........
                       Board[1,8]
                       Board[2,1]
                       Board[2,2]
                       ..........
    訩 :  Board[2,8]


    
    ------

    ࢮ    ࠭    訬 -
. ᫨   ᮤন ਠ ⥩,     -
।   㬬  ⤥ .  ᫨   -
ন ਠ,  饥 ᫮ ⮢,  , -
।    䨪஢    ᨬ-
 ਠ.  ਠ 稭    ⮣  -
 .


    ᪮ 䠩
    --------------

    ⫨稥 ᪮ 䠩  㣨   ⮨ 
⮬,   ࠭   ७ ,    䠩 
譥 ன⢥.  ࠢ  ᪮ 䠩 ⢫
।⢮ 䥩᭮  䠩 (FIB), ᠭ . 
᭮   ᪮  䠩     ⥣ਨ:  䠩
ந쭮 㯠  ⥪⮢ 䠩.

     ந쭮 㯠
    - - - - - - - - - - - - - -

     ந쭮  㯠  ⮨   ᫥⥫쭮
ᥩ     ७ ଠ. 
⨬쭮 ᯮ짮  譥   䠩 -
 뢭.     ࢮ  ᥪ  䠩
ᮤঠ ᫮ ᥩ  䠩     .  ࢠ
 䠩 ࠭, 稭  ⢥⮣ :

    ᥪ 0,  0      ᫮ ᥩ (訩 )
    ᥪ 0,  1      ᫮ ᥩ (訩 )
    ᥪ 0,  2        (訩 )
    ᥪ 0,  3        (訩 )


    ⮢ 䠩
    - - - - - - - -

    묨 ⠬  ⥪⮢  䠩   ᨬ,
      㯭     -
  (  ப).   ப ⮨ 
ந쭮 ᫠ ᨬ  稢 樥  CR/LF
(  ASCII $0D/$0A).  稢 ࠢ騬 ᨬ
CTRL-Z (  ASCII $1A).


    ࠬ
    =========

    । ࠬ஢ 楤ࠬ    㭪  ⢫
१ ⥪  Z-80.  筮     ।⠢  
ணࠬ, ᪮ 設 , 㥬 ࡮-᪠-
, ⮬᪨  ⠫  ࠬ  ⥪ । 맮
ணࠬ  ⠫   ⥪   砫  ணࠬ.
, ᫨  ணࠬ ᮡࠥ ᯮ짮  -
ணࠬ,  ⠪ ணࠬ  ⠫ ࠬ 
⥪ ᠬ⥫쭮.

     室   ணࠬ 誠 ⥪ ᥣ -
ন   (᫮).   ࠬ,  ᫨   ,
ᯮ  ⥪ "" ᮬ , ..   -
  ᮪ .  ⥫쭮,  㯠  ࠬ-
ࠬ ணࠬ  ᭠砫 ⮫  ⥪  -
,  ⥬  ࠬ,    ᫥ ⮣    
⠭   ,  ⮫  ⭮  ⥪ (
⠫  ⥪ ᯮ  POP,   ⠫-
 -  PUSH).


    ࠬ-६
    ....................

     । ࠬ-६  ⥪    ᫮,
஥ । ᮫   ࢮ , -
 䠪᪨ ࠬ஬.


    ࠬ-祭
    ..................

     ।  祭 ,     ⥪,
  ⨯ 䠪᪮ ࠬ.  ஡   ⮬  
㧭  ᫥ ࠧ.


     ⨯
    ------------

     ⨯ INTEGER,  BOOLEAN,  CHAR   
⨯ ।  ⥪     ᫮.  ᫨  ६
  ࠭ ⮫쪮  ,   訩  祭
 ࠬ  㫥. 筮 ᫮ ⠫ 
⥪     POP HL.


     ⨯ REAL
    ----------------

     ᥭ    ⥪   ⨯ REAL ᯮ 
⮢. ᫨   ⠫  ⥪   ᫥-
饩 ᫥⥫쭮 :

    POP HL
    POP DE
    POP BC

     ॣ  L  㤥  ᮤঠ 冷,  ॣ H - 
(訩  祭)   ,  ॣ  E  -  ⢥
, ॣ  D  - ⨩ ,  ॣ C - ன   -
 B -  (訩  祭)  .


    ப -  ⨯ STRING
    ---------------------------

     ப 室  誥 ⥪,  ,  
㪠뢠 㪠⥫  ⥪ SP,  ᮤন  ப.   
ᠬ SP+1,..,SP+n ( n -  ப) ᮤঠ ᮡ⢥-
 ப,  祬   ᯮ  襬 -
.   ,     ⮫
ப  ⥪     StrBuf,  ᫮,  -
 室  誥 ⥪.

    LD  DE,StrBuf
    LD  HL,0
    LD  B,H
    ADD HL,SP
    LD  C,(HL)
    INC BC
    LDIR
    LD  SP,HL


    ⢠
    ---------

    ⢮ ᥣ   ⥪ 32  (ᦠ⨥ ଠ-
樨 ⢫ ⮫쪮     ⢠    
⥭  ).   ᫥⥫쭮 , 
 ன  ⮫  ⥪ ⢮, 室饥-
   誥,     SetBuf.

    LD  DE,SetBuf
    LD  HL,0
    ADD HL,SP
    LD  BC,32
    LDIR
    LD  SP,HL

     ⮬ 訩  祭  ⢠    
 訬 ᮬ  SetBuf.


    ⥫
    ---------

    祭 㪠⥫ ।  ⥪   ᫮,  ஥
ᮤন   ᪮ ६. 祭 NIL -
⢥ 㫥 ᫮.


    ᨢ  
    ----------------

       ᯮ짮  ⢥ ࠬ஢-祭 -
ᨢ    ⢨⥫쭮      ⥪.  
⮣   ⥪ । ᫮,  ᮤঠ饥  ࢮ 
䠪᪮ ࠬ. ᫥ ⮣ 뢠 ணࠬ -
⠫  ᫮  ⥪  ᯮ   ⢥ 
࠭-筨  樨 ஢  .


     㭪権
    ==================

    ᠭ 짮⥫ 譨 (EXTERNAL) 㭪樨  
 ᢮ १  筮 ᮮ⢥⢨  ⥬,  -
 :

    1) 祭  ⨯ (஬ REAL)   
           ॣ஢  HL.  ᫨ ⨯ १  
       ७ ।⠢ 1 ,        
         ॣ L,   ॣ H  ᮤঠ
       ;
    2) 祭 ⨯ REAL     ॣ஢
       BC, DE  HL.   B,  C,  D, E  H  ᮤঠ
        (訩  祭   ॣ B),   -
        L  ᮤঠ 冷;
    3)   ⨯  STRING   ⢠   
       誥 ⥪  ଠ, ਭ⮬  ࠬ஢--
         ᬮ७ ;
    4) 祭 㪠⥫     ॣ஢
       HL.




      ⥪
    ===========

     ᫥    奬  ।  ,   
 23,   ६ 믮  ணࠬ  ᯮ  ⥬
࡮-᪠ ন  ⥪-  :
,     .

     ᯮ  ࠭ ᪨ ६  -
ࠢ ⠭묨 楤ࠬ NEW, MARK  RELEASE.  -
 믮 ணࠬ 㪠⥫ 娯 HeapPtr  ⠭
  "" ᢮ , ..    ᫥ -
⭮ .

    ⥪  ᯮ  ࠭ ஬ १⮢
 ᫥ ࠦ   । ࠬ஢ 楤ࠬ 
㭪. ⨢  FOR ⠪   ⥪    
    ᫮.  砫 믮 ணࠬ 㪠-
⥫ ⥪  StackPtr ⠭   孥 ࠭
᢮ .

    ⥪ ४ᨨ  ᯮ ⮫쪮 ४ᨢ묨 楤ࠬ
 㭪ﬨ,  ..  楤ࠬ  㭪ﬨ,  ᪮஢묨
 ᨢ ﭨ A-४⨢  ( {$A-} ).  
室  ४ᨢ ணࠬ ⢫ ஢  
ࠡ祩   ⥪ ४ᨨ (  ),   室
   ࠡ  ⠭    ࢮ砫-
 ﭨ.  祭,  ஥ ࠧ㬥  㬮砭
 RecurPtr  砫 믮 ணࠬ, ᮮ⢥ -
,   1  ($400 )  㪠⥫ ⥪ .

    ᫥⢨ ⠪  孨 ࠡ ६,   
ணࠬ,   ᯮ짮  ⢥  VAR-ࠬ-
஢  ४ᨢ 맮.

    騥 ⠭   ६    ணࠬ
஫஢ ﭨ 娯  ⥪:

    HeapPtr   㪠⥫ 娯
    RecurPtr  㪠⥫ ⥪ ४ᨨ
    StackPtr  㪠⥫ ⥪ 

     ६  ⨯ INTEGER.     ,
 ६ HeapPtr  RecurPtr  ᯮ짮   
⥪,    㣠 ६ ⨯ INTEGER.   
ᠥ ६ StackPtr,     㯮ॡ ⮫쪮 
ᢠ  ࠦ.

     㫨஢ ⨬ ६묨 ᥣ   믮-
 ᫥騥 ᫮:

    1)    㪠뢠    । ᢮ -
       ;
    2)  믮 ᮮ⭮襭:
       HerapPtr < RecurPtr < StackPtr.

    믮  ᫮  ਢ  ।᪠㥬,
    ⠫ १⠬.

     室   ⮬,    ᢠ
祭 㪠⥫ 娯  ⥪      믮,  ᫨
⥪  娯 室  ࠡ.

       맮  楤 NEW   室  ४ᨢ
楤  㭪  ⥬  ஫  稥  
 娯  ⥪ ४ᨨ,  ..  ஢,  ॢᨫ 
(  ࠢ ) HeapPtr 祭 RecurPtr.  ᫨  ⠪,
   ,  ਢ  訡 ६ 믮-
.

    ⬥⨬,    믮  ஢ப  -
祭 ⥩ ⥪   ⥪ ४ᨨ.  ⮣, ⮡ -
 ந諮, ४ᨢ ணࠬ  맢 ᠬ -
 ਬ୮ 300-400 ࠧ; ।,  ⠪  -
 쬠 ।. ᫨, ⥬  ,  ணࠬ 室-
  ⠪ ,      -
, 믮  砫  ணࠬ,    ᤢ
㪠⥫ ⥪ ४ᨨ   㢥祭 ࠧ ⥪ :

    RecurPtr := StackPtr - 2 * MaxDepth - 512;

     MaxDepth  -   ᨬ쭠 ॡ㥬 㡨 -
 맮 ४ᨢ ணࠬ.  ਬ୮  512  -
⥫ ⮢ 㦭  ⢥ १ࢠ  । ࠬ஢
  ஬ १⮢  ᫥ ࠦ.
