ZX Format #03
29 февраля 1996
  Софт  

Premiere - TASM 4.0 (Turbo ASseMbler for ZX-Spectrum 128k)

<b>Premiere</b> - TASM 4.0 (Turbo ASseMbler for ZX-Spectrum 128k)
             XL Design Inc.

              is


             TASM 4.0 (XLD)


  Turbo ASseMbler for ZX-Spectrum 128k



                DESCRIPTION

(C) XL Design Inc. 1996
(C) Sergei Pavlov
_________________________________________



   Additional features compared to 3.0 (3.1):

 - Built-in cache directory
 - Support for the undocumented commands
(SLI, INF, OUT (C), # 00)
 - Support for binary arithmetic
 - Labels up to 7 bytes
 - Additional arithmetic
 - Use half of the IX, IY
 - In the command PUSH, the possibility of
input registers, separated by commas
 - The speed of assembly increased
1.8 times
 - The speed at work in the editor increased 2.5-fold
 - Fixed bugs related to * BREAK *,
Three quotes, Merge'm etc.
 - Length of the object module is calculated from
last recorded in the memory byte
 - In DEFS can be used not only
single characters, but also a string.


            ________________



                Download


   This process can be called the principal,
therefore I shall tell more about it. First,
you need to do is find
TASM4.0x  file and run it from any rubble. If the first 
operation was unsuccessful, and you can not find the desired 
file, you need to go to 48 with BASIC open port. Do this not 
just and very simple. Simply log in 128

BASIC usr and dial 0, then
confirm these things enter key. After
This should print:

 CLEAR 24999
 OUT 32765,20
 RANDOMIZE USR 15619: REM:

  LOAD "tasm4.0x" CODE
 RANDOMIZE USR 49152


   This lecture to launch the finish.
Let me just say that the restart is done
as follows:

RANDOMIZE USR 23600.



              Main Menu


   The main screen of the main menu is divided
into two main parts (information and
system). The information part looks
as follows:

WORK> A: WORKNAME
MAIN> A: MAINNAME


   A - number of the drive on which you currently work, 
WORKNAME - name desktop file; MAINNAME - name of the primary

file, ie file from which will be assembling.

   Further, the order of the system parts. In
parentheses indicate the button on which the choice is 
described by the item. 


   Edit (E) - Exit edit. If you do not type the name of the 
file, then asks name. In the absence of a file on the disk 
label looms New File, that predznamenuet opening a new file. 


   Assemble (A) - Assembling. If
no file name is given, it will be requested. Assembling is a 
two-pass (PASS1 and PASS2). In the first pass is prepared

table tags and checks the syntax and
during the second creates a machine code and
substituted values ​​in the table tags.
If the process fails, then fall out something like:

PASS 1:00001 0 METKA LF A, # 03


   The number appearing after the "PASS 1" indicates the line 
number where an error was made. If before the number is a 
symbol of "I", then the error occurred in the connected file. 
After the line number is the code errors, and then the string 
itself. Error Codes will be discussed in the chapter "Errors." 
If assemble successfully, then the following messages:


*** END ASSM ***
Sym: nnnnn (The remaining space under the table

           marks)
Run: nnnnn (Address poslednego ORG)

Len: nnnnn (length of the program. Calculated

           according to the formula: Len = End-Run, where

           End - last recorded in

           memory bytes, Run - address village
           glacial ORG.)

New Name (N) - Change the name of the working file.

Main File (M) - Change the name of the master file.

Work File (W) - Rebooting the working file. The working file 
will be automatically removed from memory, but if he was not 
saved, it will be given to the request for its preservation. 

Merge File (G) - attaching a file.

Import 2.0 (I) - Importation of
TASM2.0.

Save (S) - Record of the working file. Automatically 
overwritten. 

Obj Save (O) - Unload an object module. Start and length 
parameters are taken from Run and Len.


Load FNT (F) - Podgruzka new font.
Font has a length of 512 bytes, loaded
in the body of the program and has a 1x8 format.

Symbol Lst (Y) - How to print table
tags.

Disk Drive (D) - Change the current drive.

Quit (Q) - ...

Run Prog (R) - Starting from the address
Run.

Catalog (C) - Attempts to remove directory.
Compared with the previous ones in this version
data field a little bit extended.

Beeper (B) - On / Off gurgling when you press the buttons.



                Editor


   You see on the screen cursor. Cursor
keys to move. There are service
buttons:

 + <1> (Edit) - Tab.
 + <2> (C. Lock) - Pushing the line.
 + <3> (True.Vid) - According to page up.
 + <4> (Inv.Vid) - down the page.
 + <9> (Graph) - Delete the character to the right

  of the cursor.
 + <W> - Insert a row.
 + <Q> - Delete a row.
 + <E> - Storing a string in the buffer.
 +  - Continuation of the search.
 +  (Ext.Mode) - Log in additional
  are positive command mode.


  Command mode has the following buttons:

<Q> - Exit the editor.
<R> - Inserting a buffer into the text.
 - Vacuuming buffer.
 - Continue the search with the replacement.
 - Search.
<X> - Searching zamenoy. If you find you will receive: Replace 
(Y / N / G) 

  Y - Yes, replace.

  N - No.

  G - Replace the end of the text.
 - In the beginning of the text.
<E> - At the end of the text.



               Expression.


  In the operands can be written as
separate operands, and expression that specifies a sequence 
algebroicheskih and logical constants, labels, address counter. 
In expressions that are processed TASM'om, allowed the 
following constants (with examples): 

decimal constant (30)
hexadecimal constant (# 40 or 40H)
binary constant (% 1101001101)
character constant (A)

 and operators (examples in parentheses):

+ Addition (3 +3 = 6)
- Subtraction (3-2 = 1)
* Multiplication (2 * 2 = 4)
/ Division (4 / 2 = 2)
 OR (% 100% 111% = 111)
'& AND (% 111' &%% 011 = 011)
! XOR (% 010 "% 111 =% 101)
^ EXCHANGE (exchange of older with younger byte (# 9C40 ^ = # 
409C) {HIGH BYTE (Capture High Byte


  (# 9C40 {= # 009C)
} LOW BYTE (Taking the Low Byte

  (# 9C40} = # 0040)
[ROLL LEFT (16-bit cyclic shift
left. 15-bit is transferred to 0. (% 1 [% = 10)
] ROLL RIGHT (16-bit cyclic shift
right. 0-bit is transferred to the 15. (% 10] =% 1)


   New TASM, as the old one, does not put
priorities in arithmetic operations.
All actions are executed sequentially.
Finding the bracket, he keeps only for its closure.


      Additional features


  In the team INCBIN and INCLUDE been built cache directory, 
which is very accelerated disk access for assembly.



   Appeared the following commands:

SLI - for unknown reasons was not implemented in previous 
versions. 

INF (# ED, # 70) - Taken from the STS. In some
catalogs, it has a mnemonic IN F, (C).

OUT (C), # 00 (# ED, # 71) - Just as the INF
was taken from STS'a.


   Teams DEFB, DEFW, DEFS, DEFM for
facilities were duplicated on the DB, DW,
DS, DM. Supported by half of the registers
IX and IY, and by typing INC LX, you do not
go in search of errors. For those
who do not know what the LX, explain:
LX-IXlow; HX-IXhigh; LY-IYlow; HY-IYhigh


   The command was implemented DEFS repeat option not only 
single bytes, but strings. For example: DS 10, "hello", # FF, 
"bye", # FF It repeats the whole line 10 times.


   To be fully compliant with GENS'om processing error has been 
corrected three quotes ("""). 

   In the instructions PUSH and POP was introduced
ability to input registers with a comma. For example string:

PUSH AF, BC, DE, HL
when disassembling will:
PUSH AF
PUSH BC
PUSH DE
PUSH HL



         Technical Information


   Before the start of TASM loaded in 4
Bank, at the address # C000. After starting the compiler 
spreads in 3 bank, where is the table tags. When we use the 
following pages: # 11 - For Includ'ov and buffer.

# 13 - There sits Compiler + table tags.
# 14 - Sam TASM.
# 16 - For the MAIN FILE.
# 17 - The first 4 kilobytes used to
cache directory.


   The body TASM'a (4 bank) has the following variables:

# C635 (50741) - Attributes screen + color

                   curb.
# C633/34 (50739/40) - Delays at press

                   the key.
# C636 (50742) - Beeper Status

               (1-Yep, 0-Nop)


                 Errors

0 - Syntax error
1 - The field tag of more than 7 characters
2 - Do not completely closed brackets
3 - not valid for this command, the number of
4 - missing comma
5 - Invalid command for this expression
     mapping
6 - The label is defined more than once
7 - Do not open the brackets where needed
8 - Using reserved words
     va inappropriately
9 - Divide by Zero. Overflow, shorter

     Bad Number.
F - file not found on the disk (INCLUDE,

     INCBIN)


               _____________


   If you find errors, as well as on the acquisition of the 
following versions please contact the editor ZF. We remind you 
that TASM4.0 (XLD) is present in APPENDIX.

_________________________________________






Other articles:

IS-DOS - "IS-DOS - for beginners" No 3

IS-DOS - "Window System IS-DOS".

IS-DOS - "object module format *. obj IS-DOS assembly language."

IS-DOS - "The format of the table of local symbols IS-DOS assembly language."

Authors Journal - ZX-Format No.3

Iron - Bugfix TR-DOS.

Iron - a new sound card: General Sound.

Iron - a new model of the Spectrum: Scorpion ZS 256 Turbo +.

Iron - on turbirovanie Spectrum machines.

Iron - an overview of modems for the ZX Spectrum.

Iron - The bus architecture of the Spectrum (concept).

Toys - "Last battle" (The Last Stand) a detailed description.

Toys - 48 irons (second level).

Toys - a dozen of the most sold in St. Petersburg.

Toys - description of the game BATMAN-II.

Toys - What's new: The Light Corridor, Jonny Quest in Doctor Zins, Bedlam, Bubble Dizzy, Navy Seals, Pirates.

Contest - a competition for computer anecdote.

Lottery - a lottery for the readers.

From the authors - the third edition of the journal.

a rest - Hu, user, wait!

a rest - glyukodrom: Most ERRORS.

Help - Another treatise on ocherdnoy obolchka and beyond.

Mailbox - discussion.

Mailbox - Translator.

Mailbox - letters from readers.

Premiere - TASM 4.0 (Turbo ASseMbler for ZX-Spectrum 128k)

Premiere - The Adventures of Winnie the Pooh.

Programmers - Basic to all number 3.

Programmers - Matching games: the adaptation of programs to disk.

Programmers - Matching games: zykrytye codes.

Programmers - adapttsatsiya games: immortality.

Programmers - assembler: Excursion to the anatomy of the ZX

Miscellaneous - Amiga: questions and answers.

Miscellaneous - Amiga: news.

Miscellaneous - Prospects for P / O.



Similar articles:

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