Difference between revisions of "SjasmPlus"

From CPCWiki - THE Amstrad CPC encyclopedia!
Jump to: navigation, search
(added category "Programming software")
(Features: this is NOT very fast (in fact its very slow))
Line 10: Line 10:
 
* 3-pass design
 
* 3-pass design
 
* Built-in Lua scripting engine
 
* Built-in Lua scripting engine
* Very fast compilation: 1 million lines by 2-3 seconds on modern computer
+
* Compilation performance: 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…)
 
* 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)
 
* Structures to define data structures in memory more easily (use STRUCT pseudo-op)

Revision as of 08:26, 1 March 2018

Here are the informations presented on the official website :

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

  • Z80/R800 documented and undocumented opcodes support
  • 3-pass design
  • Built-in Lua scripting engine
  • Compilation performance: 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)

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