ZX Review #3-4
22 июля 1997

Forum - I. Roshchin. Sharing ZX ASM 3.0 and STS 5.1.

<b>Forum</b> - I. Roshchin. Sharing ZX ASM 3.0 and STS 5.1.
(C) Ivan Roshchin, Moscow, 1997.


    Joint use

     ZX ASM 3.0 and STS 5.1.


   Surely known to every programmer Monitor - debugger
STS. Especially convenient to use
this monitor along with the assembler: typing program
assembliruesh it, and then using the STS checks her work.
Starting with version 4.1, this monitor will truly priceless 
opportunity to interactive debugging program with output labels 
on their corresponding addresses. The problem is that not 
anyone can use it. 

   Indeed, in version 4.1
procedure for deriving tags designed only for assembler "MASM
1.1 "and with any other assembler will not work. Similarly, the 
following versions support only assembler" ALASM ". A what 
about users of other assemblers? 

   Try to give a solution to this
problems for users "ZX
ASM 3.0 ".


    WARNING! All the reasons mentioned below
only applies to STS 5.1!


   To convert the STS 5.1
must do the following:
1) Make sure that the disk at
   files are present "STS5.1"

   (This file may also be called
   ваться "STS5.1AL", "STS5.1XX"

   etc.), "sts5.1a", "sts5.1b".
2) Run the file "STS5.1".
3) Press the "U". Address in

   top of the screen should

   become equal to # FE2A.
4) C # FE30 addresses enter prog
   Rummy: 140.

# FE30: PUSH HL

        PUSH DE

        PUSH BC

        LD HL, # FE46

        LD DE, # 57E0

        LD BC, # 001C

        LDIR

        POP BC

        POP DE

        POP HL

        AND # 18

        OR # 06

        RET

        CALL # 57EF

        EX DE, HL

        LD BC, # FFF9

        ADD HL, BC

        LD A, (HL)

        INC HL

        OR (HL)

        INC HL

        INC HL

        LD A, H

        RET

        DEC DE

        DEC DE

        DEC DE

        LD A, (DE)

        RLCA

        JR C, # FE5F

        AND A

        JR NZ, # FE57

        INC DE

        XOR A

        RET



     To control cite the contents of this memory area:

# FE30: # E5, # D5, # C5, # 21, # 46, # FE, # 11, # E0
# FE38: # 57, # 01, # 1C, # 00, # ED, # B0, # C1, # D1
# FE40: # E1, # E6, # 18, # F6, # 06, # C9, # CD, # EF
# FE48: # 57, # EB, # 01, # F9, # FF, # 09, # 7E, # 23
# FE50: # B6, # 23, # 23, # 7C, # C9, # 1B, # 1B, # 1B
# FE58: # 1A, # 07, # 38, # 03, # A7, # 20, # F8, # 13
# FE60: # AF, # C9
2
5) The address # FE71 enter prog
   Rummy:
140.
# FE71: PUSH HL

        PUSH BC

        LD (# FECC), BC

        LD HL, # FEC4

        CALL # E354

        LD HL, # FFFC

        EXX

        PUSH DE

        LD HL, (# E33B)

        LD A, L

        CALL # FE30

        LD L, A

        LD BC, # 7FFD

        CALL # E33D

        EX AF, AF '

        CALL # E348

        POP DE

        EXX

        POP BC

        POP HL

        EX AF, AF '

        JR NZ, # FE6E

        LD A, (# FADD)

        AND A

        CALL Z, # FB1C

        LD B, # 0A

        LD A, (# E33B)

        LD C, A

        AND # 18

        OR # 06

        LD (# E33B), A

        CALL # E590

        NOP

        AND # 7F

        CP # 21

        JR C, # FEBF

        CALL # FB49

        DJNZ # FEAF

        NOP

        LD A, C

        LD (# E33B), A

        RET

        OUT (C), L

        EXX

        LD C, (HL)

        INC HL

        LD B, (HL)

        EX DE, HL

        LD HL, # 8015

        AND A

        SBC HL, BC

        CALL Z, # 57EF

        JR Z, # FEE0

        CALL # 57E0

        JR Z, # FEDF

        CP # BF

        JR NZ, # FEC7

        AND A

        EXX

        OUT (C), H

        RET



     To control cite the contents of this memory area:

# FE71: # E5, # C5, # ED, # 43, # CC, # FE, # 21, # C4
# FE79: # FE, # CD, # 54, # E3, # 21, # FC, # FF, # D9
# FE81: # D5, # 2A, # 3B, # E3, # 7D, # CD, # 30, # FE
# FE89: # 6F, # 01, # FD, # 7F, # CD, # 3D, # E3, # 08
# FE91: # CD, # 48, # E3, # D1, # D9, # C1, # E1, # 08
# FE99: # 20, # D3, # 3A, # DD, # FA, # A7, # CC, # 1C
# FEA1: # FB, # 06, # 0A, # 3A, # 3B, # E3, # 4F, # E6
# FEA9: # 18, # F6, # 06, # 32, # 3B, # E3, # CD, # 90
# FEB1: # E5, # 00, # E6, # 7F, # FE, # 21, # 38, # 06
# FEB9: # CD, # 49, # FB, # 10, # F1, # 00, # 79, # 32
# FEC1: # 3B, # E3, # C9, # ED, # 69, # D9, # 4E, # 23
# FEC9: # 46, # EB, # 21, # 15, # 80, # A7, # ED, # 42
# FED1: # CC, # EF, # 57, # 28, # 0A, # CD, # E0, # 57
# FED9: # 28, # 04, # FE, # BF, # 20, # E8, # A7, # D9
# FEE1: # ED, # 61, # C9
2

6) Use the "B" establish
   alphabet Bank = # 18.
7) Press "E". Will

   Menu "Setup".
8) Choose menu item "Config Sa
   ve ", write the change to the STS

   disc.


   To verify the correctness
changes run ZX
ASM 3.0, the Setup menu, select
click "Load sts" and specify the name
File "sts5.1a". Next, type
any program and otassembliruyte it. Then temporarily
exit in the STS and activate
disassembling with labels (with
keyboard shortcut "SS +
5). Instead of numbers you will see the corresponding label.
3

   Little systematic information
on the ZX ASM: text and tags are in the same memory page
(Bank = # 1E), table labels organized on the principle of the 
stack and begins with the end of the buffer. Each defined in 
the program mark takes in this table 5 +

<Number of letters in the name of> bytes. STS with
disassembly examines
this area, and if the value
label and an address or number in a team match, the prints
label, or - number. If the area is kind of nonsense,
nothing bad will happen,
and the computer does not hang up and not
reset.

   Disassembling labeled
runs slower than usual.
If your program uses are not very many labels, you
hardly notice the difference in
performance. But if the labels
much disassembled text output could slow by 45 times.

   Procedure of disassembling
Labeled for ZX ASM 3.0 get a longer than
procedures for MASM 1.1 and
ALASM, and as a result, she
occupied the greater part of the buffer function of the user. 
For this function, there are only 6 bytes of # FE2A on # FE2F 
inclusive. If your function does not fit in

this area, you can do
one of two things:

1) Donate regime dizas
   semblirovaniya with labels for
   wrote at # FE71 commands
   between JP # F86A. In this case,

   can be used for fundamental
   ktsii user memory

   # FE2A to # FE5B and # FE74 in

   # FEE3 inclusive (which is 162

   bytes).

2) Place at # FE2A to
   Mandu JP XXXX, and only with addresses

   XXXX accommodate your function.


   It should be noted that when working with the disassembly 
mode tags spoils 28 bytes in the display area, starting at 
address # 57E0 (and you yourself can edit these 28 bytes as you 
want - It does not interfere with normal operation STS).


   When downloading ZX ASM'a STS will be loaded automatically, 
but Not all, but its main

part (file sts5.1a). Therefore, in
time will not be available
function "Disasm to Disk" and
"Setup", ie when you try to call STS reset. So it is better not 
to press the keys "D" and "E". To save disk

space can erase files "STS5.1 " and "sts5.1b ",
if you do not run the STS
separately from the ZX ASMa.


    Do not forget that nedokumen implanted team to work with
 halves of the index registers
 differently designated in the tech degree program in assembler 
ZX  ASM (XL, XH, YL, YH) and simple prog FRAMEWORK Motrya 
disassembled in STS (LX, HX, LY, HY). 







Other articles:

TR-DOS for beginners - Part 1.

Authoring - General Sound - Multimedia for the ZX Spectrum!

Business Card - Introducing the new electronic journal "Major Wares" (c) Codebusters & VMG

Computer novella - Knight Lore "legends of chivalry times."

New Programs - I. Roshchin. HELP_Z80. Davydov. Catalog's Base v1.8.

description of the shell of the journal "ZX-REVIEW"

Crossing Dragon - Aavlon, Castle of Dreams, Erik the Viking.

Crossing Dragon - Eureka!, Eye of Bain, Kentilla.

Crossing - Sherlock, Apollo, Shadows of Mordor, Rigels Revenge, Temple of Terror, ID, That's the Spirit, Return to Ithaka.

Retro - Dzh.Hardman, E. Hyuzon. Top 40 procedures.

Expert Tips - Castle Master.

Expert Tips - Firelord.

Expert Tips - Stonkers.

Forum Games - Insult Megademo, Catch 23, Livingstone, Rock Star ate my Hampster, UFO-2: Devils of the Abyss, Terminator 2, Venturama, The Spririts, Nipper, Sweewo'S World, King's Bounti -2, Hacker 2, Black Magic, Satcom, Star Heritage.

Forum - A. Gura. Code programmer.

Forum - A. Strelnikov. Prospects of development of ZX Spectrum.

Forum - Davydov. According to materials published in the ZX-REVIEW: Some issues related to autostart BASIC programs. Redefine Keys. How to print 42 characters per line. The procedure of multiplication HL = B * C. Refinement cloning downloaders. Mini-driver disk.

Forum - With 'Light'. Music processor ZX-Speccy.

Forum - Dmitry Fyodorov: Print images with a mask with pixel precision. Algorithm for calculating the address coordinates to within a pixel.

Forum - I. Roshchin. Sharing ZX ASM 3.0 and STS 5.1.

Forum - M. Bekarev. The calculation of the address display area of familiarity, and vice versa.

Forum - VP Fedin. Refinement Profi for conflict-free peripheral connectivity.

Forum - S. Astrov. Pseudorandom number generator.

reader-reader - V. Sirotkin. Protection program (look at the problem).

reader-reader - I. Roshchin. Display driver for the computer, "Pentagon-128.

Studies - A. Savinov: The procedure for displaying a double-height characters. Procedure "dissolution" of characters.

Studies - A. Urzha. The procedure for drawing a circle.

Studies - V. Sirotkin. Program checksum.

Studies - E. Volchkov. Improvement routines address calculation system on display file.

Studies - E. Frost. Running line.

Studies - I. Komandin. The program display screen.

Studies - I. Roshchin. Two graphic effect.

Studies - M. Lazutov: The modernization program font. Program encode / decode block codes. The effect of the attributes.

Studies - O. Smolyankin: Procedures for cleaning the screen. Output of text messages on the screen.



Similar articles:
Terrible news - OLDMAN leaves on a supercomputer - DENDY ...
Topic - Tusovka: CSP'99 - an interview with the father of Playgear cool uncle Ze Pagan.
Likbez - Assembler view from afar: Working with external devices. Reading data from port. Write commands to the port.
Birthday - congratulations spektrumistov with the birthdays.

В этот день...   2 May