Shadow multitext assembler
"ALASM v3.9".
Description of functionality.
------------------------------------------
How good it is to live in the world! Finally
an almost full-fledged assembler appeared, its
works seamlessly on all types of computers
ditch How the world has been waiting for him. There are, of course,
shortcomings, but they are inherent in any development
to a developing organism. I really hope that the
Thor will not abandon his masterpiece, but will continue
improve it. Taken for the article
the basis is the author's (ALEM) description, additionally
but also commented by me (MAX). So,
let's go!
0. ADVANTAGES OF THE PROGRAM
ALASM is fundamentally different from
everything that is currently created on
Spectrum.Its capabilities are sometimes pre-
the most sophisticated data programs are ascending
no category. The body of the program is
a single file that is loaded into a convenient
you a page that you order yourself. So
In this way you can completely free 128
memory. Wondering what the possibilities are
does it open? For the assembler to work, you need
There are three pages where the tables are located.
faces of marks removed or marked with strings
ki (pocket), etc. But initially, in the calculation
those on 128Kb machines, they combine
not included in one. Separate them if necessary
Mostly, it is possible in SETUP. You can also order there
enter temporary parameters for polling the keyboard
ry, load another font, extended driver
rhenium, etc. Few programs have
such SETUP capabilities. For recruitment
a whole page is devoted to listings. Their co-
quantity depends on the amount of computer memory
tera. There are commands for connecting other
little listings (INCLUDE) and code files
(INCBIN). The program uses the main
screen for displaying information and buffer
tera for the resident. The rest of the memory can be
use to create your own programs.
Compilation of object code is possible in any
I buy an accessible page when specified in ORG
adr,page. Full integration with
ladchik STS v5.1 and higher. Switch to debug
chick and back is carried out using
residents, so there is no needusing BASIC. For disk opera-
tions the standard entry point is used
15635, therefore the safety of system
need to watch! If you did NEW, then
you need to open system TR-DOS through
15616. The program is written with the expectation of
version TR-DOS 5.04T, so owners
previous versions to use the second
drive, you need to initialize it
separate from the program. Author little
paid attention to this topic. Compilation
is produced in one pass thanks to the
ginal algorithm for counting and bookmarking
addresses. Thus ALASM claims to
the role of the fastest assembler. Speed
in this case should be considered taking into account
connecting additional listings (not
does not matter which working page) and
downloading code files. Considering that
These files can be connected once
(see the "+" command), there are no equal in speed!
For ease of transition to ALASM from other
assemblers and transferring their listings to his
format there is a special converter
texts "UNICON2", which understands
TASM2/3/4, MASM, ZXASM (partially). When
perversion conversions such as PUSH HL,DE,BC
are not separated. Listings in ALASM format
can be converted to a text file format
iBM (not to be confused with ZX-WORD!). For further
it is advisable to use its distillation
iS-DOS converter "From iBM toiS-DOS".
At least I haven't seen a converter or
editor who would accept without problems
such a text file. In ALASM you can over-
You can also use a regular text file. It's convenient
if you want to overtake listings from tacos
go assembler who "does not understand" the program
frame "UNICON2". For example, from "STORM"...
Another important advantage is
Russification of working listings, i.e. you can
put remarks, comments, and also
select texts in DEFM in normal Russian
language in an alternative encoding. ALASM by
can truly be considered an assembler twenty
first century. The ice has broken and the programmers
began to fully master additional
computer memory, and from here - additional
telny opportunities for users. Co-
Anyway, first things first.
1. MEMORY DISTRIBUTION
ALASM allows you to work simultaneously with
several texts located in
different user memory pages. Pe-
transition from editing one page to
the other is done by entering the PAGE command
[page] from the assembler working line.
The number of texts that can be processed
apply ALASM, depends only on the volume of pa-
crumple the computer. Assembly pageswell-
measured using a maximum value mask,
transferred to the extended memory driver
tee. In this case, its least significant 3 bits correspond to
correspond to the bits sent to the port
#7FFD. Honestly, I (MAX) don't know how
it looks different on other computers
nykh from Pentagon, where the expansion is not according
port #7FFD using bits 6 and 7,
therefore my comments on this matter relate to
They only meet my standard. ALASM pony-
May work (with appropriate driver)
Pentagon (up to 512K), Scorpion/Kau (up to
256K), ATM (up to 1024K), Profi (up to 1024K).
You can write and install your own driver,
based on the available samples.
2. COLD START
When starting the assembler from TR-DOS, the screen
is cleared and the copyright appears on it
introduction, after which a test is carried out
memory on all eight bits of the page number
drivers. Its results are displayed on the computer
wound in the form of XXX kb mask XX. The numbers indicate
how much memory is available to the assembler on
your computer and which bits of the country number
nits are responsible for access. By these bits
the operand of the PAGE and other instructions is masked
commands working with pages. Below
memory testHELP containing
list of assembler commands and its editor.
The hotkeys for these commands are listed in
title mode. Please click below
CS/0 (DELETE) to run SETUP, which
will allow you to change the visual and configuration
gurative parameters of the assembler and,
if desired, burn them to disk. All from-
Changes made to SETUP are recorded
directly into the body of the monoblock assembly
ra "alasm. S". The SETUP start function is available
Only dull on cold start. After
corresponding message press any
keys will clear the screen and exit
to the working line of the assembler. ATTENTION! Ra-
The program's side stack corresponds to the position
RAMTOP, so watch the ORG value!
3. ASSEMBLY ENVIRONMENT COMMANDS
The assembler environment has its own
system of commands, most of which are
Compatible with TASM2 commands. The list of these co-
the mand can be received on the screen by pressing
"H" (HELP) keys. Enter the required co-
mandu can be done by pressing the Latin letter, entering
included in this team in the form of a header
Noah. In this case, the entered command displays
appears in the operating line, after which, if
this is required, awaiting inputoperands or
depending on purpose, confirmation
by pressing ENTER. After entering the command it
is duplicated in the working screen and performs -
Xia. If the operands are incorrect, you
a corresponding message is displayed. Completed
Any command can be interrupted
by pressing BREAK. If the result is
When you write a command, the text may be lost, then
if it has been changed, you are prompted to
saving it: Save cHange?(Y/N)
Assembly environment commands.
Help
Format: HELP
Display a list of available commands
in assembler and editor. The HELP command is not
contains operands and does not need
confirmation by pressing ENTER.
Quit
Format: QUIT [address][,page]
Exit from assembler. In case pa-
parameters are not set, exit occurs through
bottom of the stack, otherwisecarrying out
there is an unconditional transition along the specified ad-
res. The "page" parameter is passed to
high memory driver (set by default)
0). As parameters "address" and
"page" tags can be used
or arithmetic expressions containing them
nia.
Debug
Format: DEBUG
Exit to STS debugger. In the absence of
STS page (its number is ordered in
SETUP) the corresponding message is issued
tion. If before entering this command there was
the text is compiled, then the address of the index is
When debugging the monitor, the address will be recorded
last ORG. At the same time, typing in debug
SS/5, you will be able to debug
write your program while watching on the screen
names of marks by their addresses. enjoy
command is valid if STS v5.1 is loaded
and higher. Otherwise use the QUIT command
address, page!
Run
Format: RUN [address][,page]
Performs the same actionssame as the team
QUIT, but before doing so pushes the address
return to the resident assembler module,
which allows you to return to assembler due to
the program launched by the RET command. By
By default, the "address" parameter takes the value
meaning of the last ORG directive, and the parameter
"page" - 0.
Work
Format: WORK [drive:][filename[.ext]]
Uploading a file to the current working page
prostrate The default extension is
"N". "filename" can be
mask. In this case, the first one will be loaded
file that satisfies it. In case
if the "filename" parameter is not entered, then
the user is given the opportunity
select a file from the current or specified directory
assigned disk by selecting it with the cursor from
list of files appearing at the top hour -
tee screen. If there are a lot of files on the disk, then
the latter are not displayed. In this case, no
you must specify a specific file name for
work.
Catalogue
Format: CATALOGUE [drive:][mask]
The default is "*. *" (all files
ly). Displays the disk directory. For-
The mask mat is defined as follows:
the "?" sign determines what is in a given position
Any character can be present. "*" sign
determines that, starting from a given position,
all characters can be arbitrary
meanings. When reaching the limiter
(character "." or end of line) assume-
it appears that the rest of the line is filled
space characters.
nUmbers
Format: NUMBERS [parameter]
Changing the number system displayed
numerical information. "Parameter" is represented
Is one of two expressions: "DEC"
or "HEX".
Name
Format: NAME neWfilename[.ext]
Change the file name to a new one. By default
The extension is set to "H". Name length
standard, i.e. eight letters. Entered
the name is duplicated in a special descriptor
file included in its composition, therefore
renamingshould be done exclusively
in ALASM.
Print
Format: PRINT [bytes list]
Outputs the current text to the ZX-LPRINT port,
pre-printing the specified list
byte. Bytes are separated by commas.
For example, if you need to initialize a prin-
ter or switch the font (SM-6337), then
a chain of command is being established. The author is lazy
was to work on this full-fledged option
but that's why the text prints without stopping,
like on a roll. It is necessary to use the printer
Use the paper end sensor.
Edit
Format: EDIT [drive:][file name]
Go to editing the file currently
this page. If the para-
meter "file name", a file with the same name is registered
connects to the current page. If the file
not found on disk, in current page
a new file with the entered name is created.
In the same way you can erase a file in
page. This is the so-called "software"
way. There is no other way. You can, however, come in
in STS and, turning on the desired memory bank,
hit the first 16 bytes with something. But STS ra-
works exclusively with Pentagon-128/512...
Merge
Format: MERGE [drive:]file name
Uploading a text file format
ALASM to the end of the current file. Entering a name
file is required. Honestly speaking
rya, I never tried to “fool” the
I'm using the program, so I don't know how it works
will behave if to a long existing
Trying to stick it to the text is also a no-brainer.
lazy...
counT
Format: COUNT arithmetic expression
Calculates the specified arithmetic
metic expression. The result of the calculation
tion is displayed in decimal and sixteenth
ric systems. As parameters
arithmetic expression can be used
tags, their high and low bytes.
What a pity that the program does not understand binary
no system.
sYmbol
Format: SYMBOL [mask]
Displays a list of marks that satisfies
satisfying the “mask” condition. The command executes-
only if there was before
compilation has been completed. As an attribute
When marking, the following messages may be displayed:
tions:
number - Label value determined when
compilation;
NoDef - The label was not defined, but was
used;
Macro - The label represents the block name
macro definitions;
Wrong - The label format is not defined after-
the presence of compilation errors.
Assemble
Format: ASSEMBLE
Compiles text in the current
page, starting from the first line. In pro-
During the compilation process, the number of
quality of compiled strings for control
for hangingcars. Upon completion of the compilation
tion the following messages are displayed on the screen:
Symbols: AAAAA-BBWBB
The indicated difference is
amount of free memory in the page,
reserved for the table of labels. In case
if the table of labels is divided into different
pages, the AAAAA parameter specifies the address
the last entry in the POST SYMBOLS PAGE, and
parameter ВВВВВ in SYMBOL LIST PAGE. If in
listige does not have ORG or is after some
commands, the entire “error” will be scrolled
barrel" text.
Save
Format: SAVE [+][drive:]
Burning the edited file to disk
text. When specifying the "+" parameter on the
The current or specified drive is written to
all files that have a marker set due to
changes. Otherwise, the disk will be written
The current file is deleted. In case the file
with the same name already exists on disk, it
is immediately deleted without additional entries.
rosov, and then the file is written.
Info
Format: INFO
Displays the version number, list
numbers of system memory pages and transfer
number of files located in the entire memory
ty of the computer at the time the command was issued.
paGe
Format: PAGE [page number]
Go to the page specified in the
as the "page" parameter. Until next time
changing the PAGE command parameter specified
the page becomes current and all commands
for current pages will be executed on
her.
driVe
Format: DRIVE drive:
The specified drive becomes the current drive and
all commands for the current drive will be
operate with it.
Jumb
Format: JUMB [+]
This command replacesin the current file
all compile-once pointers with "-"
to "+". If the parameter is given, then there will be
all memory scanned.
SS/ENTER
Activating the manual file selector
catches currently in memory.
4. EDITOR COMMANDS
When entering the editing window, the screen
is split into two parts: the editing window
information and an information line in which
the page number of the current file is displayed
la, his name, amount of free memory in
this page and the number of bytes transferred
put in your pocket (if this number is not equal
0). The same line provides the supply
text service commands. B
during the editing process, the user can
service commands are stupid
text, however, unlike the ac-
assembler, the result of their execution is not displayed
appears on the screen as a text message
tion, but is controlled by the user himself-
lem.
List of ALASM assembler editor commands.
(activated after pressing EXTEND)
Quit
Format: Q
Exit the editor to the assembler environment.
Begin
Format: B
Go to the beginning of the text.
End
Format: E
Go to the end of the text.
SearcH
Format: SEARCH [character string]
Search for a string of characters in text. Search
starts from the position next to the current one
cursor position and continues until the end
text. When you stop searching, it may be
continued by entering the combination SS/I,
andif such a command is given after the end
last line of text, the search will start
from its beginning. If the parameter "character string"
catch" is not specified, it will be used
the string entered the previous time. Enter
lines are only possible in non-Russian.
sYmbol
Format: SYMBOL [label name]
Search for a description of a label by text. When
The claim assumes that the first character
The label name is at position zero.
Properties - similar to SEARCH.
coDe
Format: CODE XXX>[character code]
Setting the character cursor position with
arbitrary code typed on the keypad
tour. When you enter the command, the code appears
character located at the current position
cursor and it is proposed to replace it with
another. If the parameter is ignored, there is no
no actions will be taken. Convenient
for entering capital Russian letters and some
ry characters.
Restore
Format: R
Copying the contents of a pocket in position
tion of the cursor. The line on which it is located
the cursor appears first after the content
my pocket. After this operation the resets
The pocket addition permission flag is set,
i.e. the subsequent addition will "score" the pre-
previous The command can be replicated and re-
carry text fragments unlimited
number of times.
Clear
Format: C
Cleaning the pocket.
Xreplace
Format: REPLACE line1line2
Starting from the position next to the current one
cursor position, search is performed
text "line1". As soon as he is about
detected, a message is displayed
"REPLACE(Y/N/G)?" If the answer is "Y", the current
"line1" is replaced with "line2" and search
continues further. If the answer is "N" search
continues withoutreplacements. When answering "G"
all encountered expressions "line1" will be
replaced with "line2" without additional
requests. At any moment of the team's work
execution can be interrupted by pressing
BREAK (CS/SPACE).
Line
Format: LINE line number
Places the cursor on the line indicating
assigned number. Lines are numbered starting from zero
howl until the end of the text in increments of 1 per
each line. But not so fast! To the author
I was too lazy to display the current line number,
where is the cursor currently located?
therefore, using a command is equivalent to wandering
in the dark.
Jumb
Format: JUMB [+]
Without parameter, scans
text in the current page to replace
directives "-" to "+" (this operation is automatic
technically produced when loading each
file from disk). With the [+] parameter you can
All texts found are scanned
in memory.When editing text, the user
Functions called at the same time are available to everyone.
by alternately pressing two keys. These features
speed up work in the editor and do not have
operands The following combinations are from
two fingers for convenience and habit of corresponding
are equivalent to those in TASM:
SS/I - continuation of search;
SS/D - switching between Russian and Latin
whom registers for entering information.
The register change is indicated
changing the cursor;
SS/Q - deleting the current line. When you-
when this command is completed, the file to be deleted
line is automatically wrapped
in your pocket, but only if
if he was not busy with another
formation;
SS/W - inserts an empty line. Current
the line moves down;
SS/E - copying the current line to
pocket After this command the chickens
the trash moves to the next one
string;
CS/1 - tab;
CS/2 - inserting a space at the cursor position
sora. Rest of the line
moves to the right;
SS/EN - a list of files is displayed on the screen
fishing, in which the cursor selects
Another text file is created.
5. ASSEMBLY DIRECTIVES
When writing the compiler, the Author adhered to
lived a set of directives adopted in
TASM3.0. Directives not present in
above creation, selected according to
in accordance with international practice of writing
development of assembler language compilers, i.e. with
using a flashlight and an English-Russian dictionary.
List of ALASM compiler directives and their
Description:
1.
ORG address[,page]
Setting the compilation address. By default
In this case, the "page" parameter is set to 0.
As information about the current address
compilation cansymbol used
"$", equivalent to calling the reserve
a variable containing the address of the per-
of the first byte of the command in which it occurred
appeal. Example:
ORG #7D19
LDIR
;LDIR is written to address #7D19
ORG #С069,#84
INDR
;INDR is written to address #C069 in the page
; #84 top memory
2.
EQU value tag
Assigns a value to the label, equivalent to
tape parameter "value". Example:
SCREEN EQU #4000 ;SCREEN=#4000
ATTRS EQU #5В00 ;ATTRS=#5В00
SCR_LEN EQU ATTRS-SCREEN ;SCR_LEN=#1В00
3.
EQU .NUM
EQU `NUM
Operations for selecting senior and junior
word bytes:
NUMB1EQU #1234
NUMB2 EQU #ABCD
STBMLB EQU .NUMB1*256+`NUMB2;STBMLB=#34AB
MLBSTB EQU `NUMB1*256+.NUMB2;MLBSTB=#12CD
Try to avoid dividing by 256 for
obtaining the high byte of the required word
va, since division takes 280 times
more than just an operation to highlight
high byte.
DEFB `NUMB2
Absolutely equivalent, but much faster
more than
DEFB NUMB2/256
When specifying the byte value of the label
the low byte is allocated automatically
DEFB.NUMB1
equivalent
DEFB NUMB1
therefore it is mainly used for
DEFW.NUMB1
4.
DISP address
Setting the address where the work should be
bot the program.
ENT
Assigning the program work address to the
current compilation addresses. Example:SCREEN EQU #4000
ORG #8000
LD HL,BEGIN ;Forward to screen
LD DE,SCREEN ;and start the program
LD BC,END-BEGIN;waiting interrupted.
LDIR
CALL SCREEN
D.I.
HALT
BEGIN DISP SCREEN
MARKA DEC A
HALT
JP NZ,MARKA ;JP - not by chance
RET
ENT
END
5.
INCLUDE "drive:filename"[,page]
Inclusion of additional
body text block written on
disk under the name "file name". At the same time
the specified file is loaded into the page, op-
defined by the "page" parameter (by default
chanyu - current). After compilation is complete
included block, compilation continues
from the line following this directive
you. A feature of this directive is
that the file specified in it will not
boot fromdisk if it is already located
on the required page. Example:
LDIR
INCLUDE "TOKENIZE",1
OTDR
INCLUDE "ALASM2"
HALT
LDIR will be compiled first,
volume text "TOKENIZE. N" loaded into
page 1, then OTDR, then to current
the page will be downloaded and compiled
text "ALASM2. N", after which from the disk
the main file is read and the pro- compilation
must be started with the HALT command.
6.
MAIN "file name"[,page]
Specifies the main compilation file.
The MAIN directive must be the first to execute
my slave file directive. Be
be careful with file names containing
characters "." or "*". It's better to replace them with
symbol "?". Example:
MAIN "MAKE6?7",6
LDIR
After issuing the ASSEMBLE command, compilation
tion is transferred to the MAKE6*7 program, finding
located on page 6, then located in
it INCLUDE calls the subordinate program
mu, consisting of the MAIN directive andteams
LDIR. In included files, MAIN is ignored
so after assembling LDIR
returns to the main program and
continuation of compilation.
7.
INCBIN "drive:filename"[,length]
Inclusion in the compiled program of co-
new block recorded on the disk under
name "file name" size "length" bytes
or default from catalog data. When-
measures:
ORG #E000
LD HL,SCRFILE
LD DE,#4000
LD VS,6144
LDIR
RET
SCRFILE INCBIN "SCR6?7",6144
At SCRFILE address during compilation
the SCR6*7 file will be loaded, which after
launch will be transferred to the screen.
8.
DUP number
Left program bracket. Points to
the beginning of the block that is neededcompil-
repeat "number" times in a row.
EDUP
Right program bracket. Points to
end of the repeatable block. Example:
DUP 32
LDI
LD A,B
OR C
JR Z,$+3;$ ;address of the first byte
LD (HL),D ;compiled command
EDUP
The block of text between DUP and EDUP will be
compiled 32 times.
9.
DEFM "character string."[,"character string"]
Reservation of a character string. Example:
DEFM "There was a string of characters","VASYA"
Based on the features of the command editor
dy, like this, and also something else
can be entered from the first position (column)
on the screen. Convenient for large alternations
expressions and operands. For those who diss-
assembles codes into listings using the STS program
version 5.1 and higher, for DEFB it is necessary
set the size to "6" for a 42-character version
this ALASM and from "8" - for 64 characters.10.
DEFB byte[,list of bytes]
Reserving a list of bytes. Example:
DEFB "U",13,10,"butt",13,10,"was"
DEFB 13,10,"dog",13,10
11.
DEFW word[,list of words]
Reserving a list of words. Example:
DEFW ALASKA,BUFFER,12,#BD15
DEFW 32767,.NUMB1
12.
DEFS number of repetitions[,list of bytes]
List of bytes (default - 0) copied
is sent to the current compilation address. Number
cycles is equal to the parameter "number of repetitions"
rhenium". Example:
LD SP,#5B00
DEFS 8,#C5,#D5,#E5,#F5
;equivalent
DUP 8
PUSH Sun
PUSH DEPUSH HL
PUSH AF
EDUP
13.
+
When loading text from disk, it scans
is checked for the presence of “+” pointers in it
at the beginning of each line. During compilation
all encountered "+" pointers will be replaced
are not marked with "-", which will indicate to the compiler that
no need to compile the string
during the next assembly. Example:
LD HL,#DB00
+SAVEADR
+ ORG #DB00,7
+ INCBIN "stsCh.2a"
+ORG SAVEADR
JP(HL)
The main debugger file will be loaded
only during the first compilation of the text,
holding these commands.
14.
label=expression
Reassigning a value that already exists -
cabbage tags. Example:SHLUSS EQU 0
ORG 32768
DUP #4000
DEFW SHLUSS
SHLUSS=SHLUSS+1
EDUP
all memory above #8000 will be full
increasing words from 0 to 16384
6. ERROR MESSAGES
When compiling the source text, it is possible
to generate compile-time errors related to
written with the carelessness of the programmer.
List of assembly compile-time errors
ra ALASM:
0 - syntax error;
1 - reserved;
2 - reserved;
3 - short transition is incorrect;
4 - reserved;
5 - reserved;
6 - repeated description of the mark;
7 - reserved;
8 - reserved;
9 - reserved;
10 - compilation into ROM;
11 - invalid operation;
12 - incorrect MACRO operation;
13 - not used;
14 - system stack error;
15 - disk error;
Fill time errors:
Wrong sHort - incorrect reference to
label outside the "short-
whom" fields;
pot defined - the label is not defined.
7. SETUP MENU OPTIONS
During a cold start of ALASM, the user
The user is prompted to run SETUP by pressing
CS/0. Exiting to SETUP will allow you to configure as-
sampler for the parameters that are required
we are in the current session or in the global
ball scale. Selecting the required option
performed by the keys for moving the course
ra, and to activate the selected option, press
pressing the ENTER key. Below is a list
SETUP menu options and detailed descriptions of each
milk them.
+----------+
|SaveSETUP|
+----------+
Writing to disk all parameters changed
entered into SETUP during the last session
work. All parameters are recorded by
directly into the body of the ALASM monoblock,
therefore, there is no need to create
create and load a separate SETUP file when
initial boot. In assembler takes
Each font size has its own individual
the name by which the mo-
noblock. It is not recommended to change it, so
how this can lead to fatal non-compliance
responsibility.
+-------------+
|Restart ALASM|
+-------------+
You can exit the SETUP menu
by pressing BREAK, however, when changing the global
system parameters required
restart initial settings
and memory test. Failure to comply with this rule
will not lead to fatal errors, since
inconveniences are associated mainly with visual
our inconsistencies.
+---------------+
|Load FONT codes|
+---------------+
Loading a font file from disk. Depending
depends on the nature of the typed program
the programmer may need to use
using an alternative character set
fishing, which in this case may be
downloaded from disk. When you select this option in
A list appears at the top of the screen
available files for a given font size
that and the mobile cursor are necessary for selection
my file. Font files are identified by
length and boot address.
+-----------+
|KBD forming| - pause between two polls
|KBD Holder | - anti-bounce
|KBD Wait | - pause before auto-repeat
+-----------+
Setting the constants that determine the para-
keyboard polling meters. The value of the constant
you pause between two polls is selected
first depending on the controller typekeyboard or lack thereof. The higher it is
value, the higher the stability of operation, but
At the same time, delays increase.
+-------+
|Russian|
+-------+
Changing the keyboard encoding from national
natural to sound or vice versa. National
nal encoding (abbreviated as "YTSUK")
convenient for keyboards on which it is applied
hay for one reason or another. Sound
encoding ("YAVER") is used on computers
terah without appropriate prompts, and in
in general it is a matter of habit.
+-----------+
|Border |
|Screen ATTR|
+-----------+
Set frame and screen colors. Colors,
corresponding numbers can be found in any
fight a self-respecting book dedicated to Va-
your computer. For large colorblind people
don't matter. +-------+
|Numbers|
+-------+
Changing the number system displayed on
numeric information screen (sixteen
ric/decimal).
+----------+
|Start page|
+----------+
Specifying the page number that will be
becomes current when ALASM is started. When
changing it from sixth (as originally) to
192 (it’s so convenient for me at 512K) EDIT command
is interrupted by an error message. It's not-
finalization of the program. In this case for
to enter the editor, you must first give
mand "PAGE" without parameters, thereby
opening a "new" page, and then go
to the editor.
+-----------+
|System page|
+-----------+
One of the main system parameters,
indicating in which page the
use ALASM outside of a session of working with it.
+-----------+
|Symbol list|
+-----------+
Number of the page on which it will be placed
The list of labels obtained during compilation
tions of the text. This list can be used
used after compilation to obtain
information about tags by the user or when
debugging to improve the perception of design
assembled memory area during operation
in STS.
+------------+
|Post symbols|
+------------+
Number of the page on which it will be placed
list of compilation mail marks. Pos-
after the compilation is complete, this
the list is not intended for use
no information value.
+-----------+
|Pocket page|
+-----------+
The page containing the text
information memorized during re-
text editing. If the parameter "Pocket
page" is equal to "Post symbols", then for each
compilation, the contents of the pocket will be destroyed
wander around Otherwise the pocket will
be maintained throughout the entire session
bots.
+-----------+
|Debugger at|
+-----------+
In this option you must specify the number
page in which you propose the
place the main debugger file. At the same time
all teams connected in one way or another with
them, they pre-test this particular one
page for the presence or absence of the necessary
dim identification sequence.
If ALASM does not find STS tags there, then
it, unlike similar programs of this
genre, you’ll never hit it and you won’t get anything
hangs.
+------------+
|HImem driver|
+------------+
When you select this option, you are prompted
read one of the suggested drivers from the disk
Vers upper memory. These drivers are different
are available only for computers with a capacity of
memory more than 128 kilobytes with addressing older
th byte of the recording port #FD and the bits corresponding to
looking for access to additional
body memory. The driver file is recognized
by length and boot address. When
ALASMa installations must be selected
the memory driver that matches
capabilities of your computer. About the specialty
lization of one or another driver is unambiguous
clearly indicates his individual name,
which can be read in the disk directory.
The driver format can be understood from the attached
our source files and based on them written
show your perversion, if you have one -
Xia.
8. IN THE NEXT VERSIONS
The current version of ALASMa is not
the latter, since ways to improve
innumerable. The author will do everythingpossible,
to make assembler even more convenient
for the user. List of improvements that
which should be expected in future versions in
first of all:
- increase in compilation speed by 30%;
- universal printer driver;
- conditional compilation directives;
- macro operations and macro definitions;
- displays labels not only by name, but also by
value;
- RAMDISK for files loaded from to
with the power of INCBIN;
- elimination of shortcomings associated with
single pass;
- increasing tag memory up to 64 KB
(4 pages);
- ability to view unused
marks;
- writing the compiled file to disk
object code;
- repeat directives based on a list of parameters;
- indication of the line number in the process
text editing.
9. CONCLUSION
Finally, I will say that using this
assembler, I forgot a lot of problems related to
knowledge gained from working with other editors.
The program is available in three types -
42`character eight-point height symbol-
vola, 42`character with six dots and special
especially for small-scale lovers and those who want
spoil your eyesight - 64`character version
these. The structure of the ALASM text is strictly current -
kenized, which allows you to have a listing
large programs on one page and with
this is not to skimp on remarks and comments -
rii. For those who want to share their impressions
and wishes, as well as on issues of purchasing
delay of new versions of the program, the author of the OS
tawilyour coordinates:
╔═════════════════════════════╗
║ 310177 Ukraine ║
║ Kharkov, 177 ║
║ Glory Avenue ║
║ house 7 apartment 17 ║
║ Mishchenko Alexey Anatolyevich ║
║ Phone: (0572) 70-37-49. ║
╚═════════════════════════════╝
Share your thoughts about the article