Difference between revisions of "SjasmPlus"
From CPCWiki - THE Amstrad CPC encyclopedia!
(Category) |
m (→Links) |
||
(One intermediate revision by one other user not shown) | |||
Line 3: | Line 3: | ||
== About == | == About == | ||
− | SjASMPlus is Z80 Assembly Language Cross Compiler. It is available for Win32 | + | SjASMPlus is Z80 Assembly Language Cross Compiler. It is available for Win32, Linux and FreeBSD (mainly 5.x) systems. It is based on SjASM source code by Sjoerd Mastijn (http://xl2s.tk). |
− | |||
− | * Z80/R800 documented and undocumented opcodes support | + | == 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 | ||
+ | * Macro language, defines, array of defines | ||
* Built-in Lua scripting engine | * 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…) | * 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 |
− | + | * Multiline block comments and user’s messages | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * Multiline block comments | + | |
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
== Links == | == 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] | ||
[[Category:CrossDev]] [[Category:Programming software]] [[Category:Assembler]] | [[Category:CrossDev]] [[Category:Programming software]] [[Category:Assembler]] |
Latest revision as of 18:27, 15 January 2024
Here are the informations presented on the official website :
About
SjASMPlus is Z80 Assembly Language Cross Compiler. It is available for Win32, Linux and FreeBSD (mainly 5.x) systems. It is based on SjASM source code by Sjoerd Mastijn (http://xl2s.tk).
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
- Macro 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
- Multiline block comments and user’s messages