Oldal: 1 / 1

ZX Modules - ZX Assembler

Elküldve: 2015.07.15. 12:02
Szerző: Bali
Tegnap jött ki a ZX Assembler 0.8-as verziója, ami egész jónak tűnik. Főként az SjASMPlus-os újdonságra kaptam fel a fejem, mert mostanság azt használom és ha könnyedén működnek a forrásaim változtatás nélkül ezzel is, akkor akár érdemes áttérni erre, mert ez egy élő eszköz (egyelőre).

Új funkciók:

* Load and edit ASM files, following the syntax rules of SjASMPlus and SjASM
(but please take care about the differencies, if you want to edit sources
from SjASM directly)

* I gave you all example programs of the help file in an \examples folder
with the installation.

* Description of all Z80 mnemonics and pseudo instructions with examples
in the help file.

* Syntax helper in the bottom line (enter a command in the "commands" column,
then perform a mouse over and it shows more details about that command).

* File Dropbox: Load and save without using the hard disk. Good "sandbox"
for test files. With the ability to export to disk, import from disk,
delete and edit the file directly with byte editor.

* You either can edit ASM instructions, and compile them to get their bytes,
but you also can edit bytes in a sneak code editor (that can be used
decimal, hexadecimal or text-based) and disassemble them automatically
to Z80 instructions.

* Icons to separate a multi-instruction command line (commands separated by
colon here), and the inverse function to connect a selected area of
commands to a multi-instruction command line.

* Label list: Shows you all found labels of your code, as well as local labels
in macros and loops, following 95 % the rules of SjASM (sorry, not all could
be done, as SjASM is extremely powerful tool, hard to re-make its abilities).
The label list can be sorted by name or address or type. Labels found on CALL
or JUMP are listed with their type, also indication the jump positions in
the source editor to help you to find subroutines. Also, clicking on a label
jumps to the source position.

* Copy and paste icons which work on an ASM text base. Means that code, that
has been copied to clipboard with Ctrl+C is a pure ASM file (including labels
and comments) and can be inserted into another position of your source or
into a text editor to get a full usable ASM file again.

* File based instructions like INCBIN and EXECUTE to make it possible to
create an auto-executing SNA file containing your own code!

* Edit datablocks of ZX-Spectrum emulator files directly with ZX-Assembler.

* The other modules ZX-Paintbrush, ZX-Blockeditor and ZX-Editor are now
re-compiled to let them call ZX-Assembler in a dialog for editing data
blocks containing machine code.

* Error log window. If an error is found, you can click on the message and
jump to the position in the source easily.

* Display window. Use the commands DISPLAY, DISPLAY.CLEAR and ASSERT to
produce text messages in a display tool window.

* On short jumps, ZX-Assembler checks whether the jump to a label is possible
or not. In case of not, you are asked whether the short jump should be
replaced by a far jump, including DJNZ --> DEC B: JP ...

* A big summary of pre-defined functions, including IF and CASE. Also, using
floating point numbers is no problem. E.g. defining an array of bytes or
word containing SINE numbers (multiplicated with a factor) is no problem.

* Includes most of the SjASM and SjASMPlus instructions. The results may vary
sometimes, as ZX-Assembler is not a copy of SjASM or SjASMPlus, but has been
developed by testing results of these compilers to get best results.

* Source includes using the INCLUDE instructions with up to 20 levels deep.

* Predefined ROM label file, that is auto-included by default and contains
all these nice ROM labels you need to access ZX-Spectrum ROM routines.
Can be customized or replaced by another ASM file containing labels

De azért van még pár dolog, amelyekre csak a következő verziókban számíthatunk:

* code parts and pages need to be implemented for better compatibility with
SjASM (a highly complex feature, hard to perform, that's why I put this
in to one of the next releases).

* IFUSED instruction which works pretty much like a linker. If a label is
not used, code parts can be omitted.

* Undo/Redo features.

* Easier method of creating an executable snapshot, and also for 128k mode.

* MACRO functions and recursive macros.