Changes

SjasmPlus

336 bytes added, 15 January
/* Links */
== About ==
SjASMPlus is Z80 Assembly Language Cross Compiler. It is available for Win32, DOS, Linux and FreeBSD(mainly 5.x) systems. It is based on SjASM source code by Sjoerd Mastijn - (http://xl2s.tk SJASMPlus is a really powerfull Z80 Cross Compiler).
== Features ==
== Main Features == * Full source of assembler available under BSD license, modify and extend as you wish* Z80/R800 /Z80N/i8080/LR35902 documented and undocumented opcodes support* 3-pass designMacro language, defines, array of defines
* Built-in Lua scripting engine
* Conditional assembly, block repeating
* Modules (namespaces), local and temporary labels
* Source and binary file inclusion, include paths
* Multi file output, file updating, various types of exports
* Structures to work easily with structured data in memory
* Relocation data generator to support SymbOS-like relocation of executables
* Virtual device mode for common machines: ZX 128, ZX Next, Amstrad CPC, … (pseudo op DEVICE)
* ZX Spectrum specific directives and pseudo ops (SAVESNA, SAVETAP, SAVEHOB, INCHOB, INCTRD…)
* ZX Spectrum Next specific features and directives (Z80N, 8ki memory paging, SAVENEX)
* Amstrad CPC 464/6128 specific directives (SAVECPCSNA)
* Correctness is assured by Cirrus-CI with 400+ automated tests (that's also 400+ examples of usage!)
* Fake instructions as LD HL,DE (LD H,D:LD L,E) and more
* Code inlining through colon (LD A,C:INC A:PUSH AF:IFDEF FX:LD A,D:ENDIF…)
* Very fast compilation: 1 million lines by 2-3 seconds on modern computer
* Code inlining through colon (LD A,C:INC A:PUSH AF:IFDEF FX:LD A,D:ENDIF…)* Structures to define data structures in memory more easily (use STRUCT pseudo-op)* Conditional assembly* Macro definitions* Local labels* User’s messages* Temporary labels* Special modes for 8bit computers: ZX-Spectrum 48/128, Scorpion 256, ATM-Turbo 512* Defines and array of defines* Fake instructions as LD HL,DE (LD H,D:LD L,E)* Source and binary file inclusion* Multiline block comments* Multi file output and file updating* Librairies (trough use of MODULE and IFUSED directives)user’s messages
== Missing features ==
SJASMPlus does not have support for the CPC range of computers. It can of course assemble working z80 code, but does not add an amsdos [[header]], and can't make a [[snapshot]] to use with emulators.
 
However, there is existing code for other platforms, and some minor adaptations should be enough.
== Links ==
* [https://github.com/z00m128/sjasmplus Source code]
* [http://z00m128.github.io/sjasmplus/documentation.html Documentation]
* [http://sjasmplus.sourceforge.net/ Old web site]
* [https://github.com/z00m128/sjasmplus New web site]
* Official Web site [[Category: CrossDev]] [http[Category://sjasmplus.sourceforge.net/ sjasmplus.sourceforge.net/Programming software]] [[Category:CrossDevAssembler]]
897
edits