Presentation - ALASM v3.9 assembler

Black Crow #01
  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