(c)  騭, ᪢

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

     ᮡ ⫠ ணࠬ    STS
     

("ZX-" 5-6/1997)
 ᫥ ।஢: 10.05.2003.

    猪   ணࠬ  ⫠ ᢮ ⢮७
 :      ࠡ ⫠
ணࠬ  ⨨ ।񭭮 樨   
⫠稪 (ਬ, ⮡ ᬮ 祭 ६), 
⥬      뢠   믮 ணࠬ.
 "ZX-" 㦥 뫨    ⥬ (ਬ,  . 244
 1991 .,  . 33  1993 .).    ᪠ 
ਬ  ⮩ 楫  ୮ -⫠稪
STS.
     ⮬ ⫠稪   ⠢ 
⫠ ணࠬ  ⠭,  ⨦ ன
ந室 室  STS. ᬮਬ ஡,  ந室 
⠭ 窨 ⠭ (   "W"),   室 
STS,  ⫠ ணࠬ ⨣ 窨 ⠭.

     ⠭ 窨 ⠭:

1)  祥 ADR_W  ADR_W+1   ।饩 窨
   ⠭.
2)  ⮬   ᮤন  ⮢ ,
   ࠭ ( ⠭ ।饩 窨 ⠭) 
    祩 ADR_B-ADR_B+2.
3)  祩 ADR_W  ADR_W+1 뫠 , ⬥祭
   ஬.
4)  祩 ADR_B-ADR_B+2  ᮤন  ⮢
   , 稭  , ⬥祭 ஬.
5)  , ⬥祭 ஬,   JP
   ADR_OST.

    믮塞 ணࠬ ⨣ 窨 ⠭:

1) ந室 室   ADR_OST,  ࠢ ।
   १⭮  STS.
2) STS  ᮤন  ॣ஢, ० 뢠
    ..
3)  祥 ADR_W  ADR_W+1   窨 ⠭.
4)  ⮬   ᮤন  ⮢ ,
   ࠭ ( ⠭ ⮩ 窨 ⠭)  
   祩 ADR_B-ADR_B+2.
5)   ࠡ  STS.

    ਢ񭭮 ଠ樨  筮, ⮡ 
ࠣ ணࠬ,   ⨨ ன 樨
 (ਬ, "SS+D" -  ᫮ "Debugger") ᯥ稢
室  STS   쭥襣 த ࠡ
⫠ ணࠬ. 㦭 ⮫쪮   ADR_W, ADR_B
 ADR_OST. ⬥,   ࠧ  STS  
ࠧ,   ADR_OST     ᯮ
१⭮  STS  . ⮡  ADR_OST, 筮
ᬮ,   STS ⠢  ⨨  "W".
⮡  ADR_B, , ᪠,   - 
  #AB, #CD, #EF, ⮬ ⠢  ⮬ 
 ⠭   ,  ஬ STS ࠭  
. ⮡  ADR_W, 㦭 ⠢  -
 (ਬ, #8000)  ⠭,  ⮬ ᬮ,
    (#00, #80) ࠭  STS.

    ਢ      ᨩ STS (
᫮,  १ 室   #5B90):

                          ADR_W   ADR_B  ADR_OST

                STS 3.2   #DFC3   #DFE4   #5B98
                STS 3.3   #DFC3   #DFE4   #5B98
                STS 4.1   #E064   #E07C   #5B9B
                STS 4.3   #E06E   #E088   #5B9B
                STS 5.1   #E02E   #E038   #5B9B

    ਢ  ࠣ   ⠢  ⫠
ணࠬ, ਬ, ᫥ 楤    
㣮  믮塞 .  ,   
ᯮ      #C000, ..  ⮬
ࠣ ४  .

ADR_W   EQU   #E02E   ;   
ADR_B   EQU   #E038   ;STS ᨨ 5.1, ᫨ १
ADR_OST EQU   #5B9B   ;室   #5B90.
BANK_S  EQU   #1F     ; STS.
BANK_D  EQU   #18     ; ⫠ ணࠬ.

   LD      BC,#7FFE   ;  .
   IN      A,(C)      ;஢塞,   "Symb.Shift".
   BIT     1,A        ;᫨ , 䫠 Z ⠭.
   JR      NZ,NEXT_C  ;᫨  , 室...
   LD      B,#FD      ;塞  .
   IN      A,(C)      ;筮 ஢塞
   BIT     2,A        ; "D".
   JR      NZ,NEXT_C  ;᫨  , 室...

   LD      BC,#7FFD   ;⠭ , 
   LD      A,BANK_S   ;஬ 室 STS.
   OUT     (C),A

;㥬  STS  ⠭:

   LD      HL,ADR_B   ; ࠭ 3 ,
                      ;  ⠭
                      ;।饩 窨 ⠭.
   LD      DE,(ADR_W) ;,  ஬  
                      ;ࠧ (易⥫쭮  #C000)!
   LD      BC,3
   LDIR               ;⠭ 3 .

   LD      HL,NEXT_C  ; ࢮ , 
   LD      (ADR_W),HL ;㤥 믮 ᫥ 室
                      ; STS, 뢠  祩
                      ;ADR_W..ADR_W+1 (  STS ࠭
                      ;,  ஬ 뫠 ⠭
                      ;窠 ⠭).
   LD      DE,ADR_B   ; 祩 ADR_B..ADR_B+2 STS ࠭
   LD      BC,3       ;3 , ᯮ  
   LDIR               ;窨 ⠭.

   LD      A,BANK_D   ;頥 ,  
   OUT     (C),A      ; ⮣.
   JP      ADR_OST    ;窠 ⠭.

NEXT_C  ...           ; 筥 믮 ᫥
                      ;室  STS.

    ᫥  "SS+D"  室  STS  ॣ ਭ
祭,  뫨   뢠 ணࠬ, ⠪ 
 㤥 த  믮.
      ⫠  ⠢  ணࠬ 
⠭,     ࠡ ਢ񭭮  ࠣ
( 㤠  窠 ⠭  ⠢ ) 
ன 窨 ⠭   #C000.
      த 믮 ⫠ ணࠬ 
⮣ ,   뫠 ⠭, ਬ,  蠣
० ("SS+Z", "SS+X", "SS+T")  ᯮ  Trace, 
  樨  "SS+J" (  STS  4.0
ᯮ "J", ⠭  ᪠ ࠢ ᮤন PC,
 ᯮ  "SS+K",   ⮬ ⠭ ࠭
STS). ᫨     ᥬ, ᨪ  TR-DOS,
ᯮ  "Q".

    ᫨  ணࠬ ᠥ ⭮ 祬, STS ⮦
  .  ⮣   ந ࠣ,
 ᠭ ,  楤 ࠡ⪨ 뢠 2-
த. । 襬  㦥 ⮢ 楤 ࠡ⪨
뢠,  ⠪ ,   ᠭ , ஢ 䠪
 "SS+D"  室  STS. ᫥ 室  STS 믮
⫠ ணࠬ 㤥 த  ⮣ ,  
뫮 ࢠ 楤ன ࠡ⪨ 뢠. ⮬, 室
 STS,   ।,  ࠣ ணࠬ 㦨
稭 "ᠭ",  ᮤন ॣ PC.
    ࠭祭   ᯮ 楤   ⠪
,    ࠭ ᠭ ࠣ.

ADR_W   EQU   #E02E   ;    STS
ADR_B   EQU   #E038   ;ᨨ 5.1, ᫨ १
ADR_OST EQU   #5B9B   ;室   #5B90.
BANK_S  EQU   #1F     ; STS.
BANK_D  EQU   #18     ; ⫠ ணࠬ.

   EX      (SP),HL   ; 饭  뢠
   LD      (M1+1),HL ;뢠  祩 M1+1  M1+2.
   EX      (SP),HL
   PUSH    AF        ;࠭塞  ⥪
   PUSH    BC        ;祭 ॣ஢.
   PUSH    DE
   PUSH    HL
   PUSH    IX
   PUSH    IY
   EXX
   EX      AF,AF'
   PUSH    AF
   PUSH    BC
   PUSH    DE
   PUSH    HL

   CALL    USER    ;   
                   ;, 맮 모,
                   ; 饬,   .

   LD      BC,#7FFE   ;  .
   IN      A,(C)      ;஢塞,   "Symb.Shift".
   BIT     1,A        ;᫨ , 䫠 Z ⠭.
   JR      NZ,NEXT_C  ;᫨  , 室...
   LD      B,#FD      ;塞  .
   IN      A,(C)      ;筮 ஢塞
   BIT     2,A        ; "D".
   JR      NZ,NEXT_C  ;᫨  , 室...

   LD      BC,#7FFD   ;⠭ , 
   LD      A,BANK_S   ;஬ 室 STS.
   OUT     (C),A

;㥬  STS  ⠭:

   LD      HL,ADR_B   ; ࠭ 3 ,
                      ;  ⠭
                      ;।饩 窨 ⠭.
   LD      DE,(ADR_W) ;,  ஬  
                      ;ࠧ.
   LD      BC,3
   LDIR               ;⠭ 3 .

M1 LD      HL,0       ; ࢮ , 
   LD      (ADR_W),HL ;㤥 믮 ᫥ 室
                      ; STS, 뢠  祩
                      ;ADR_W..ADR_W+1 (  STS ࠭
                      ;,  ஬ 뫠 ⠭
                      ;窠 ⠭).
   LD      DE,ADR_B   ; 祩 ADR_B..ADR_B+2 STS ࠭
   LD      BC,3       ;3 , ᯮ  
   LDIR               ;窨 ⠭.

   LD      BC,#7FFD
   LD      A,BANK_D   ;頥 ,  
   OUT     (C),A      ; ⮣.

   POP     HL       ;⠭
   POP     DE       ;祭 ॣ஢.
   POP     BC
   POP     AF
   EXX
   EX      AF,AF'
   POP     IY
   POP     IX
   POP     HL
   POP     DE
   POP     BC
   POP     AF
   EX      (SP),HL  ;ࠥ  ⥪
   POP     HL       ; .
   EI
   JP      ADR_OST    ;窠 ⠭.

;᫥ 室  STS 믮 ணࠬ 㤥
;த  ⮣ ,   뫮 ࢠ
;楤ன ࠡ⪨ 뢠.

NEXT_C   ;᫨ 맮 STS  :

   POP     HL       ;⠭
   POP     DE       ;祭 ॣ஢
   POP     BC
   POP     AF
   EXX
   EX      AF,AF'
   POP     IY
   POP     IX
   POP     HL
   POP     DE
   POP     BC
   POP     AF
   EI
   RET              ; 室  뢠.

     ⫠ ணࠬ  ᯮ ᮢ⭮ STS 
ᥬ (TASM, MASM, ZXASM  ..),  祭 㤮. ᫨
  ணࠬ ஥   ᠭ  ࠣ⮢,
   ᮡ   ,   ᪠
ணࠬ  믮. ᫨  STS,  㤥 ଠ쭮 
 砥. ᫨  ணࠬ ᪠  ᥬ 
ᨪ,        STS  ⨨
"SS+D",   멤  STS,   ᬮ த
믮 ணࠬ.

                          *  *  *

    ⭮,  蠣 믮    STS
⢫ ६ ᯮᮡ:   権 
"SS+Z", "SS+X"  "SS+T". ஡ ᪠  ᮡ
 ᯮᮡ   ⮬,   ᯮ짮   .

1) "SS+Z" - ந室 蠣 믮  
   Z80.  ᫮⥩  ᯮ짮 "SS+Z"  
   , ⮫쪮    HALT,  饭
   뢠,   ᭥.

2) "SS+X" -  ,   "SS+Z",   CALL 㤥 믮
   ।⢥,  ஢ 뢠 ணࠬ,
    । 㦥 ⫠.   ᠥ 
    RST (,  ᠭ STS 㯮 ⮫쪮 CALL,
     RST   ᫮). 믮塞   室
     ,   .  訩 ᯮᮡ  믮 ⫠
   ணࠬ,      ᮡ: ⠪  맮
   ணࠬ ந室  १,  ⥪  
   ᫥饩 믮塞  襩 ணࠬ 㤥 
       १.  ᥣ   
    祭,   ணࠬ 
   ᯮ짮 ᮤন ⥪. ਬ,  ⫠ ᢮
   ணࠬ   ᯮ ணࠬ,   ᢮
   맮 ⠥  ࠭ ᮤন ॣ஢  
    맮. ⮡ । 祭 PC,  ,
        ⥪   맮.

3) "SS+T" - ⫠稪 ⠢ ᫥ 믮塞 , 
     室  ,  ⠭  ᪠
   ⫠ ணࠬ.  ⮩ 窥 ணࠬ 頥
   १ १  STS. "SS+T" 㤮 ਬ  ஢
   DJNZ,   ஢ ணࠬ (CALL, RST)  
   ᯮᮡ  ᯮ짮, ..   ⭮.
      ᫥饬 ਬ:

                     #8000: CALL #8004
                     #8003: RET
                     #8004: LD   A,7
                     #8006: OUT  254,A
                     #8008: RET

       ணࠬ  ⠭  梥 . ᫨
   믮   蠣 ०   "SS+Z", 
   㡥,      . , ᫨
   믮 ,  "SS+T",  १  
   .  ⮣, ⮡ , 祬  ந室,
   ஡ ࠧ  ࠡ ⫠稪  ⨨
   "SS+T":

   - ᫥ ⥪饩  (  砥 CALL #8004) ⠢
     窠 ⠭ ( JP,  3 ). 訥 
     ⮬  3  .
   - । ࠢ   #8000;
   -  ⨦ 窨 ⠭ ந室  
     ⫠稪,  3  ⠭.

        ,   ᬠਢ 砥 3  
   JP 뢠  ,  ஬ । ࠢ
     CALL #8004.  १ ⮣ ॠ쭮 믮
   ᫥ ᫥⥫쭮 :

                     #8000: CALL  #8004
                     #8004: SBC   A,E
                     #8005: LD    E,E
                     #8006: OUT   (254),A
                     #8008: RET
                     #8003: JP    #5B9B

      㬥,  ᪠ ⭮   
    DJNZ, ⠪  "SS+T" 㦭 ਬ 
   ஦. , ਬ,     
   ஢ DJNZ:

                     #8000: LD    B,#00
                     #8002: LD    A,(#800A)
                     #8005: OUT   (#FE),A
                     #8007: DJNZ  #8002
                     #8009: RET
                     #800A: DB    0  ;  㤥 ᯮ祭.

                          *  *  *

     ਬ  蠣 ஢ ( Trace). 
⮬   ࠬ Trace Call. ᫨  祭, ⫠稪
㤥 室 "" 楤   믮 
CALL  RST (㫨 "SS+Z"),  ᫨ 몫祭 - 믮
   אַ ᪠  १ ("SS+X").  ,
뫠    ᨬ  祭 Trace Call
⪫ ஢ ணࠬ,   室 
࠭ । ࠭.  ࠭  㪠뢠
  Trace. ਬ, ᫨  ࠭ ࠢ #4000, 
 - #FFFF,  ⫠稪  㤥 室 "" 
ணࠬ .  ⠪  ⮩   STS , 
⮫쪮 ,   㤥    ᫥ ᨩ.



    㣨    ⫠稪 STS:

1. "訡  STS 6.2   ࠢ". ZX-Pilot #29,
   Voyager #2, "⥫.  " 5/2000.

2. " '㦨' ALASM 4.1  STS 6.2". Voyager #2.

3. "㬥஢ ᮡ  Z80".
   ZX.SPECTRUM, Deja Vu #8, Voyager #3, "⥫. 
   " 4/2000 ( ).
       ( ⮩    ᢥ  ࠢ 訡
   । ﭨ 뢠  STS.)

4. " ⥪⮢ 뢮". "⥫.  "
   2-3/2001,  ᥢ BV_Creator.
       ( ⮩  ᠭ ᯮᮡ 祭  6x8  
    ;  ᯮᮡ  ਬ  STS, 
   ᢮襥 ,  ࠭ ࠭ , 
   ᯮ짮  ॠ樨  STS  㭪権.)

5. "ன 梥⮢  STS 6.2". ".  "
   9/2002,  ᥢ BV_Creator.
