(c)  騭, ᪢

Fido  : 2:5020/689.53
ZXNet : 500:95/462.53
E-mail: asder_ffc@softhome.net
WWW   : http://www.ivr.da.ru

                    । ࠬ஢
                    
     맮 ᥬ 楤  ணࠬ  ᨪ
    

(".  " 10/2001)




    ᫥ ⮣,  ணࠬ  ᨪ ᠭ, 
,   ࠡ⠥ ⥫쭮 . 
᪮쪮 ᯮᮡ 襭 ⮩ ஡.  
९ ணࠬ  ᥬ,   ⮬
ᨬ쭮 த⢨, -    ਤ 
 ६  ᨫ.  ᯮ짮  ᨪ - 
 ॡ ᪮쪮- ⢥ ᨫ,  ணࠬ
 㤥 ⮫  ன,  ᠭ  ᥬ,  ⮬
   ஡  ⪮   樨
  ⪥ ᪠ ⪮஢ ணࠬ. ,
, ९  ᥬ ⮫쪮  ⪨ ணࠬ,
 믮     ६.  ⮬
த⢨ 㤥     ࠢ  
९뢠 ணࠬ  ᥬ,  ꥬ ࠡ 㤥
⥫쭮 .   ᯮᮡ ⨬樨  拉
砥 뢠  ।⥫.
     ᯮ짮 ᥬ 楤 ⠥ 
। ࠬ஢.  ⠭⭮ ᨪ ।⢠  ⮣
쬠 ஬: ।ᬮ७ ,  뢠 楤
   ॣ஢  BC  祭, ।⠢-
饥 ᮡ 楫 ᫮   0-65535. , 
믮  

    ....
    1000 LET A = USR 40000
    ....

㤥 맢 ᥬୠ 楤, ᯮ  
40000, ᫥ 祣 ६ A 㤥 ᢮ 祭
ॣ஢  BC.
     뤥  । ࠬ஢ । 
, 뢠 㤠 । 맮 楤 祭
। ६    POKE,  ᫥
맮 - 뢠 頥 祭   
PEEK. , ᪠, ॡ । 楤 ⠡஢-
 न, 室饩   40004, ६ X  Y
(楫,   0-65535) १   40000-40003 (
 40000 ᯮ 祭 X,  ଠ 訩
/訩 ;  40002 - 祭 Y,  ⠪  ଠ).
楤   祭 । ࠧ, ⠢
१    祩 ; ᫥ ⮣  
饭 祭  ᢮  ६ X1  Y1.

    .....
    1000 POKE 40000,X-INT(X/256)*256: POKE 40001,INT(X/256)
    1010 POKE 40002,Y-INT(Y/256)*256: POKE 40003,INT(Y/256)
    1020 RANDOMIZE USR 40004
    1030 LET X1=PEEK(40000)+PEEK(40001)*256
    1040 LET Y1=PEEK(40002)+PEEK(40003)*256
    .....

     ,  ⠪ ᯮᮡ । ࠬ஢
㢥稢 ꥬ ᨪ-ணࠬ,  ६  ।
祭 ( 쭮 ⥫쭮 - ਬ,  ।
ᨢ), 室 ,    
६ 室,  , ,    墠
.
     ᯥ⨢ ᯮᮡ ।⠢ , 
ᥬୠ ணࠬ ।⢥ ࠡ⠥  ६묨
ᨪ. ᬮਬ  ᯮᮡ  ஡.


६ ᨪ


    ᬮਬ ᭠砫,  뢠  ᨪ ६, 
   ଠ  ࠭.
    ६ ᨪ-ணࠬ 室   ,
砫 ன  ⥬ ६ VARS,
ᯮ   #5C4B=23627. ६  ண 
 㣮,  ᫥ ᫥   室  #80 - ਧ
  ६.
       ६ ᪠  ய,  
⨭᪨ 㪢,  ⠪ ஡   (   
 ᨬ),   ࠭ ६ 
८ࠧ   㪢,  ஡  ࠭ (⠪
ࠧ,   ६ Size X  sizex -  
 ),  "$"  ᨬ ६ ⠪  ࠭.
     ᫥ ࠧ ⨯ ६  ਢ ଠ
 ࠭ (  ଠ, ਢ  [1], אַ ᪠,
 ⫨ ⮩  筮, ⮬  諮
  室 ࠪ᪨ ᯥਬ⮢).

    ᫮ ६     㪢

-  (1 )
- 祭 (5 )

    ᫮ ६    ᪮쪨 ᨬ

-  ( ࢮ ᨬ 㢥祭  #40, ᫥ -  #80)
- 祭 (5 )

    ६ 横 for-next

-  (1 ),  ᨬ 㢥祭  #80
- 祭 (5 )
- ࠭祭 (5 )
- 饭 (5 )
-  ப,  ன ᯮ ᮮ⢥騩
   FOR (2 )
-  ᫥饣 ᫥ FOR   ⮩ ப (1 )

(ਬ砭: ६     㪢, ।
砫  筠, ᫥⢨, ᫨  ᯮ 
⢥ ६ 横 for-next,  ᢮ ଠ
࠭.)

    ᫮ ᨢ

-  (1 ),  ᨬ 㢥祭  #20
-  ᨢ   (2 )
- ⢮ ࠧ୮⥩ (1 )
- ࢠ ࠧ୮ (2 )
  ...........................
- ᫥ ࠧ୮ (2 )
-  (5  ), ࠭騥  ᫥饬 浪:
  ᭠砫 ⠥ ᫥ , ⥬ ।᫥ 
  ⠪ , ਬ (1,1), (1,2), (1,3), (2,1), (2,2), ...
  
    쭠 ६

-  (1 ),  ᨬ 㬥襭  #20
- ⢮ ᨬ (2 )
- ᮤন

     ᨢ

-  (1 ),  ᨬ 㢥祭  #60
-  ᨢ   (2 )
- ⢮ ࠧ୮⥩ (1 )
- ࢠ ࠧ୮ (2 )
  ...........................
- ᫥ ࠧ୮ (2 )
-  (1  ); 冷 ࠭ ⠪ ,  
  ᫮ ᨢ.

     ,  祭 ࢮ   ६
ࠧ   ।  ⨯:

ͻ
      祭               ६          
       ࢮ                                         
͹
         #41-#5A           ᨬ쭠                       
Ķ
         #61-#7A           ᫮ ( -  㪢)         
Ķ
         #81-#9A           ᫮ ᨢ                  
Ķ
         #A1-#BA           ᫮ ( - ᪮쪮 ᨬ) 
Ķ
         #C1-#DA           ᨬ ᨢ                
Ķ
         #E1-#FA           ६ 横                 
ͼ

                          1

    ਢ  ᢥ  ⨡⭮ ଥ ।⠢
ᥫ, ᯮ㥬  ࠭ ६.  ᫠ 
 0..65535 ।⠢ ᫥騬 ࠧ:

Ŀ
  0    0    訩  ᫠    訩  ᫠   0  
                                                          


     楫 ᫠   -65535..-1 - ⠪:

Ŀ
  0   #FF   訩  ᫠    訩  ᫠   0  
          (᫮ ।⠢  ⥫쭮 )     


    ⢥ ᫠ ࠭   ᫮ ଥ. 
 ଠ  ࠭   ௭, ਬ,  [3].
    ਢ, ⠪  ࠡ  ⠪ ᫠ 
ᥬ 뢠 室   祭 । .
  ८ࠧ 蠥  ⠪, ⮡ ࠡ
⮫쪮  楫묨 ᫠,   ᪮ ᫥.

    ஡㥬 ⥯, 㦨 祭묨 ﬨ,
"஢" ᮤন ॠ쭮  ६, 
ன ਢ  . 1.

                   Ŀ
                   pic_1.scr              
                                          
                                          
                                          
                                          
                                          
                                          
                   

                             . 1

       ६ - #98.  ਭ
 #81-#9A, ᫥⥫쭮, ࢠ ६ - ᫮
ᨢ.   ,  ᫮ ᨢ  ᨬ 
࠭ 㢥祭  #20. । : #98-#20=#78,  
ᨬ "x".  ᫥   室  ᨢ
(       ᠬ ). ⠢ 
(#23=35)  ३  ᮮ⢥饥 ᫮ ⮢ ।, 
 ࠧ ३  ᫥饩 ६.    ⮣
 㤥,  ᬮਬ  ᨢ.  ᫥饬 
࠭ 2 - , ᨢ 㬥.  ࢮ ७ 
ࠧ ࠢ 2,  ஬ - 3 ( ᥣ, ,   6
⮢).  ᯮ ᠬ . X(1,1)=4,
X(1,2)=0, ᫥騥  ⠪ ࠢ .
      ᫥饩 ६ - #C1, ᫥⥫쭮, 
ᨬ ᨢ   A$...   ⠪ ; , 
⠢襩  ⮩  ६  ᬮ ࠧ
ᠬ⥫쭮.


楤 ।  ६


     । ⮯ ६ ᨪ 㤮
ᯮ짮 ਢ 楤ன.   室 
室 ࠬ.
    室: DE 㪠뢠   ६, ८ࠧ 
ᮮ⢥⢨   ⨯ (..      ⠪
,   ࠭   ६), 稢饥
⮬ 0.
    室: ᫨ ६  - 䫠 Z 襭, HL
㪠뢠   ६    ᫥ 
 ६, DE 㪠뢠  ᫥騩  ᫥ 0
( , ᫨ ࠭  ᪮ ६   㣮,
, 砫 㧨  DE  ࢮ   ⥬
᫥⥫쭮 뢠 楤,  㤥 ᫥⥫쭮
   ६). ᫨ ६   -
䫠 Z ⠭, DE ⠥  .
    楤  ᢮ ࠡ  ᮤন ॣ A.

VARS       EQU  #5C4B

FIND_VAR   LD   HL,(VARS)

           PUSH BC

FIND_M0    PUSH DE
           PUSH HL

;ࠢ  ⥪饩 ६   ᪮:

FIND_M1    LD   A,(DE)
           INC  DE

           AND  A
           JR   Z,FIND_YES ; ᮢ

           CP   (HL)
           INC  HL
           JR   Z,FIND_M1

;  ᮢ - ய᪠ ⥪ ६:

           POP  HL
           POP  DE
           LD   A,(HL)
           INC  HL

           CP   #80       ;諨    ६?
           JR   Z,FIND_NO ;᫨  - 室, 䫠 Z ⠭.

           CP   #60
           JR   C,SKIP_M  ;ய᪠ ᨬ ६

           CP   #80
FIND_M4    LD   BC,5
           JR   C,SKIP_BC ;ய᪠ ᫮ ६
                          ;    㪢
           CP   #A0
           JR   C,SKIP_M  ;ய᪠ ᫮ ᨢ

           CP   #C0
           JR   NC,FIND_M3

;ய᪠ ᫮ ६    ᪮쪨 ᨬ:

FIND_M2    LD   A,(HL)
           INC  HL
           RLA
           JR   NC,FIND_M2
           JR   FIND_M4

FIND_M3    CP   #E0
           LD   C,18  ;B=0!
           JR   NC,SKIP_BC ;ய᪠ ६ 横

;ய ᨬ쭮 ६  ᨢ:

SKIP_M     LD   C,(HL)
           INC  HL
           LD   B,(HL)
           INC  HL

SKIP_BC    ADD  HL,BC
           JR   FIND_M0

FIND_YES   POP  BC ;᭨  ⥯  㦭 ᫠  ⥪
           POP  BC
           INC  A  ;A ⠭ ࠢ 1, 䫠 Z 

FIND_NO    POP  BC
           RET     ;室

     ᨪ ந    
饭  - ६ -      稭
 ᪮ ࠡ ᨪ-ணࠬ.


ਬ ⨬樨


    ஡㥬 ⨬஢  த⢨ -
 ᨪ-ணࠬ - ਬ, ਢ .

10 LET N=0: INPUT A$
20 IF A$="" THEN GO TO 60
30 FOR I=1 TO LEN (A$)
40 IF A$(I)="X" THEN LET N=N+1
50 NEXT I
60 PRINT N

     ணࠬ 訢  짮⥫ ப 
뢠, ᪮쪮 ࠧ    ᨬ "X". 
 த⢨ ⪮, 祢,  横  ப
30-50. ९襬   ᥬ.   ࠧ頥,
᪠,   40000.

           ORG  40000

           LD   DE,NAME_A ;饬 ६ A$
           CALL FIND_VAR

; HL 㪠뢠  2-⭮ 祭, ।饥
; ப A$.

           LD   E,(HL)
           INC  HL
           LD   D,(HL)
           INC  HL

;DE -  ப, HL 㪠뢠   ᨬ ப.
 
           LD   BC,0     ;稪 ᨬ "X"

M1         LD   A,(HL)
           CP   "X"
           JR   NZ,M2
           INC  BC

M2         INC  HL
           DEC  DE
           LD   A,D
           OR   E
           JR   NZ,M1

;BC - ⢮ ᨬ "X"  ப.

           LD   DE,NAME_N ;饬 ६ N
           CALL FIND_VAR

; HL 㪠뢠  祭 ६ N. 頥 㤠
;ᮤন BC, ।⠢  5-⭮ ଥ:

           LD   (HL),0
           INC  HL
           LD   (HL),0
           INC  HL
           LD   (HL),C
           INC  HL
           LD   (HL),B
           INC  HL
           LD   (HL),0

           RET  ;室

NAME_A     DB   "a"-#20 ; ६ A$
           DB   0
NAME_N     DB   "n"     ; ६ N
           DB   0

< ᫥ ⥪ 楤 FIND_VAR>

     樨 襬  䠩 "file1". ᫥ ⮣
⠥  ९ 室 ணࠬ:

5  CLEAR 39999: RANDOMIZE USR 15619: REM: LOAD "file1" CODE
10 LET N=0: INPUT A$
20 IF A$="" THEN GO TO 60
30 RANDOMIZE USR 40000
60 PRINT N

     ᫮,   㤮⢮ 뢠 
ᨪ ᥬୠ 楤.
 
 - ᪨㥬 뢠  ࠡ 襩 楤 
   ,  । 室   ࠧ襭. ,
     饭 뢠  㢥稢 祭
   ⥬ ⠩ -    , ᫨ 
   ᯮ , ᪠,   ६ 믮
   ணࠬ.

 - 祭 ॣ஢  HL'  室  楤 
    ⠪ ,    室, - ࠢ #2758.  , ᫨
    楤  ᯮ짮 HL'  - ᢮ 楫,
   । 室   ⠢  LD HL,#2758: EXX.

 - 祭 ॣ஢  IY    
   祭 뢠, ⠪   ᯮ ⥬
   楤ன ࠡ⪨ 뢠. ⮬, ᫨  㦭
   ᯮ짮 IY, 砫  뢠,  । 
   ࠧ襭   ⠭ ᮤন IY (⠬
     ᫮ #5C3A).


᪮쪮  ᮢ⮢


    祭 ᫮ ६  ८ࠧ 
᫥饩 ࠡ⪨  5-⭮   - 
塠,  ᨬ  : ⠪   㤥
॥ ࠡ뢠. ᫨ 㦭 ࠡ  ᨢ,  
 筮 ᢮ , ⮨ ᪮஢  
,  256:   ᪮   ⠬
⠪ ᨢ (஡  ⮬,   ࠡ 
ᨢ,     [4]).


  ६


      ⠪,   ९뢠 ࠣ ணࠬ
믮 ᢮ 祭 ࠭   ᯮ짮襩
६.  ⮬ 砥 ଠ     
६, , ᫥⥫쭮,   㤠 .  ⮣
室 뤥    ६ ( 殬
᫥ ६  ⮬ #80)   室
       祭  ६.
    뤥   믮   楤
MAKE_ROOM, ᯮ     #1655.   맮
 ॣ஢  HL  室 ,  ண
㦭 뤥 ,   BC -  뤥塞 .
     뤥塞   㤭 ।, ᫨
,  ।⢥   ६ ᯮ
 ।㥬 ப ணࠬ,  砫 ன
࠭  ⥬ ६ E_LINE. ⥫쭮, 
祭 ᪮  筮  祭 E_LINE 
㬥   1.
    ᬮਬ ਬ.   ⠪ ணࠬ:

    10 INPUT A: INPUT B
    20 LET C=A+B
    30 PRINT C

  㦭 ९  ᥬ ப 20. ⭮, 
६ A, B  C - 楫,   祭 ਭ 
0..65535.  ⮬ 砥 ᥬ ⥪ 㤥 ⠪:

           ORG  40000

MAKE_ROOM  EQU  #1655
E_LINE     EQU  23641

           LD   DE,NAME_A
           CALL FIND_VAR

; HL 㪠뢠  祭 ६ A,
;DE 㪠뢠  NAME_B.

           INC  HL
           INC  HL
           LD   C,(HL)
           INC  HL
           LD   B,(HL)

;BC - 祭 ६ A.

           CALL FIND_VAR

           INC  HL
           INC  HL
           LD   E,(HL)
           INC  HL
           LD   D,(HL)

;DE - 祭 ६ B.

           EX   DE,HL
           ADD  HL,BC    ;᫨ C
           PUSH HL       ;  ⥪

;뤥塞   ६ C.

           LD   HL,(E_LINE)
           DEC  HL       ; 뤥塞
           PUSH HL
           LD   BC,6     ;᪮쪮 뤥塞
           CALL MAKE_ROOM
           POP  HL

           LD   (HL),"c" ; ६
           INC  HL

           POP  DE       ;﫨  ⥪
           LD   (HL),0   ;祭 ६
           INC  HL       ; 뢠 
           LD   (HL),0   ; 5-⭮
           INC  HL       ;ଥ
           LD   (HL),E
           INC  HL
           LD   (HL),D
           INC  HL
           LD   (HL),0

           RET           ;室

NAME_A     DB   "a" ; ६ A
           DB   0
NAME_B     DB   "b" ; ६ B
           DB   0

< ᫥ ⥪ 楤 FIND_VAR>





1. "ᨪ ZX Spectrum". ᪢, VA PRINT, 1993.
2. " ". "ZX-" 10/1991.
3. "ᮭ  ZX Spectrum. ணࠬ஢
    設    몥 ᥬ". ᪢, "મ",
   1993.
4. .騭. "⨬  ਬ intro "Start". ".
    " 7-10/2001.
