(c)  騭, ᪢

ZXNet : 500:95/462.53
E-mail: bestview@mtu-net.ru
WWW   : http://www.ivr.da.ru

                 ᪮쪮 񬮢 ⨬樨
                 

(".  " 8/2005)

     ⮩  ᠭ   ⨬樨 
ணࠬ஢  ᥬ Z80. ,    
ਤ㬠 (⠪   筮 祢),   
室 -       ਬ
 ᯮ짮, ⮬   訫   ᪠. ,
- ਣ.

1. ᫨ 䫠 C=1,   A ⠭ n,  㫨 A.

        SBC  A,A    ;᫨ 䫠 C=1,  稬 A=#FF,  A=0.
        AND  n      ;#FF ॢ  n,  0  .

2. ᫨ 䫠 C=1,   A ⠭ n1,  - ⠭
   n2.

        SBC  A,A    ;᫨ 䫠 C=1,  稬 A=#FF,  A=0.
        AND  n1-n2  ;#FF ॢ  n1-n2,  0  .
        ADD  A,n2   ;稬 ᮮ⢥⢥ n1  n2.

3.   ணࠬ,   ன -  
   ࠣ,   - x ⮢ (x>=4).  ਬ:

        ...........
        LD   A,(HL)
        INC  HL
        LD   H,(HL)
        LD   L,A
        LD   A,(HL)
        INC  HL
        LD   H,(HL)
        LD   L,A
        RET

    ⨬   ࣠樨 横 (᫨ ⠢
। 騬 ࠣ⮬  LD B,2,  ᫥
ࠣ -  DJNZ M1,  M1 -  ࢮ 
ࠣ)  먣  x-4  ( ᫨ 祭 ॣ B
 ,  ਤ ࣠뢠 横 - ,
   㬥 먣).  襯ਢ񭭮 ਬ,
 x=4,  먣  砥:

        ........
        LD   B,2
M1      LD   A,(HL)
        INC  HL
        LD   H,(HL)
        LD   L,A
        DJNZ M1
        RET

        ᯮᮡ ⨬樨, ᯥ稢騩
먣  x-3  (..   ):  ⠢ ।
砫 饣 ࠣ 3-⮢  CALL $+3:

        ........
        CALL $+3
        LD   A,(HL)
        INC  HL
        LD   H,(HL)
        LD   L,A
        RET

    , $ -   ⥪饩 .   
 CALL - 3 ,  $+3 㤥 ᮬ ᫥饩 .
 ࠧ,  CALL $+3 । ࠢ  
 饣 ࠣ,   ⥪ 㤥 
 ⮩ . ᫥ ⮣,  ࠣ 믮  
ࠧ,   RET ࠢ 㤥 ।  ࠭
 ⥪  砫 ⮣ ࠣ.  ࠧ, ࠣ
믮  ன ࠧ,   ॡ. ⥬  믮
 RET ந 㦥 室  ணࠬ.
    㤭 ,  ᫨  믮 騩
ࠣ  ࠧ,   ⮣ 筮 ⠢ ।
 砫   CALL $+3; ᫨  믮 ᥬ
ࠧ,   ⠪ ,  ..   㦥   룮
⨬   ࣠樨 横.
     . ᫨  ணࠬ । 騬 ࠣ⮬
 㣨    롨  樨 ⮩
ணࠬ, , ᫨ ,  ⥫쭠
⨬ -   ⮣,   室   CALL
( 訩  ⮣ ) 㤥 ६ 
  (  ), ᯮ ।
騬 ࠣ⮬. 먣  ⠢   
.
      ਬ ( ᭮  㦥 ᬮ७
࠭ ਬ). 砫 ᬮਬ 砩,  먣 ࠢ
 ⠬.  , ᫨ । 騬 ࠣ⮬
⮨  塠⮢ ,   ⮢. 
ਬ,     ⮢ : LD H,B (
#60)  LD L,C ( #69). , ࠢ  樨
ணࠬ,  ᤥ ⠪:

        ........
#695F:  DB   #CD    ;  CALL nn.
#6960:  LD   H,B    ;  , ஬ אַ 
        LD   L,C    ;祭, ࠧ  뢠
                    ;ணࠬ - #6960 (᭠砫 訩 
                    ;, ⮬ 訩).
#6962:  LD   A,(HL)
        INC  HL
        LD   H,(HL)
        LD   L,A
        RET

     믮 室饩   #695F  CALL
 ⥪ 㤥  ,  3  訩 (.. #6962),
 ந 室   #6960. 믮  LD H,B
 LD L,C,  ⥬   ࠧ 믮 騩
ࠣ. ᫥ 믮  RET ந 室
 ࠭   ⥪  #6962, 騩
ࠣ 믮  ன ࠧ,  ⥬ ᫥ ண
믮  RET ந 室  ணࠬ.
    , ᫨   #6960  - 稭  ,
 뫮   冷 : ᭠砫 LD L,C,  
 - LD H,B.   ࠧ   #6069.  
뫮       㣨 : PUSH BC (
#C5)  POP HL ( #E1),   ࠧ   #E1C5.
     ᬮਬ 㣮 砩. ।,  ।
砫 ࠣ  塠⮢  LD BC,#1234 
⮢  EXX ( #D9).     㦥
 ,    -   , ᫨  
樨 ⠪, ⮡  ਢ񭭮 ࠣ  EXX
ᯮ    #D9xx.

        ........
        LD   BC,#1234
        DB   #CD    ;  CALL nn.
        DB   #xx    ;訩  .
#D9xx:  EXX         ;訩  .
        LD   A,(HL)
        INC  HL
        LD   H,(HL)
        LD   L,A
        RET

4.      nn ࠭ ⮢ ६,
   ࠢ 0  1,     ⠪, ⮡  0 ⠫
   1  .   ⠪:

        LD   HL,nn  ;3 , 10 ⠪⮢.
        LD   A,(HL) ;1 , 7 ⠪⮢.
        XOR  1      ;2 , 7 ⠪⮢.
        LD   (HL),A ;1 , 7 ⠪⮢.
                    ;⮣: 7 ⮢, 31 ⠪.

 ᤥ ⠪:

        LD   HL,nn  ;3 , 10 ⠪⮢.
        INC  (HL)   ;1 , 11 ⠪⮢.
        RES  1,(HL) ;2 , 15 ⠪⮢.
                    ;⮣: 6 ⮢, 36 ⠪⮢.

     (  5 ⠪⮢ !). 
 ⮬ 砥   .

    筮, ᫨ 塞 ६ 室   
ॣ஢ B,C,D,E,H,L (稬  r),   ⠪:

        LD   A,r    ;1 , 4 ⠪.
        XOR  1      ;2 , 7 ⠪⮢.
        LD   r,A    ;1 , 4 ⠪.
                    ;⮣: 4 , 15 ⠪⮢.

룮 ⠪:

        INC  r      ;1 , 4 ⠪.
        RES  1,r    ;2 , 8 ⠪⮢.
                    ;⮣: 3 , 12 ⠪⮢.

        ,  ॥  3 ⠪,   
.

                           *   *   *

        ⨬樨. 㬠   ᠬ, 
⮬ ⠫ ஢,    ਬ 
ᯮ짮   -,   - , .
    㦭 ᪠  , ..   
  室.

5.  A  ᮤন ॣ஢  BC, DE  HL
   (稬  r1r2)   १     
     ॣ஢  (稬  r3r4).

        ADD  A,r2   ;稫 .  㬬  ਧ ७.
        LD   r4,A   ;࠭ .  㬬.
        ADC  A,r1   ;A=.  㬬 + ਧ ७ + r1.
        SUB  r4     ;A=ਧ ७ + r1 = .  㬬.
        LD   r3,A   ;࠭ .  㬬.

    ᫨ १    HL, 筮  ⠪ (ਬ
 ,  ஥ ᫠  BC):

        LD   H,0    ;2 , 7 ⠪⮢.
        LD   L,A    ;1 , 4 ⠪.
        ADD  HL,BC  ;1 , 11 ⠪⮢.
                    ;⮣: 4 , 22 ⠪.

       .   ᠭ 砫 ᯮᮡ  
⠪ ॥! :

        ADD  A,C    ;1 , 4 ⠪.
        LD   L,A    ;1 , 4 ⠪.
        ADC  A,B    ;1 , 4 ⠪.
        SUB  L      ;1 , 4 ⠪.
        LD   H,A    ;1 , 4 ⠪.
                    ;⮣: 5 ⮢, 20 ⠪⮢.

       ॡ ᨬ쭮 த⢨ 
  㢥祭  ணࠬ.
    ,   窨 ७ ﭨ  䫠   ᯮᮡ
 .




    㣨    ࠧ  ⨬樨 
ணࠬ஢  ᥬ Z80:

1. "  ५㥬 ணࠬ". "ZX-" 5-6/1997.

2. "Z80: ⨬ 㧪 ⠭  ॣ".
   "⥫.  " 9/2000, 2/2001 (
   ᥢ BV_Creator).

3. "  ணࠬ஢ 䬥᪨ 権".
   "⥫.  " 12/2000, 1-4/2001.

4. "ﭨ  OUTD  䫠 ७". "⥫. 
   " 5/2001, ".  " 8/2003 (
   ᥢ BV_Creator).

5. "⨬  ਬ intro 'Start'". ". 
   " 7-10/2001.

6. " 맮 ணࠬ  ࠧ  ".
   ".  " 12/2001, 2/2002, 4/2002.

7. "襭 ᦠ ணࠬ  ᥬ Z80". ". 
   " 4/2003.

8. "楤 ࠢ ப  ᥬ Z80". ". 
   " 6/2003.
