Skip to content
forked from z00m128/sjasmplus

Command-line cross-compiler of assembly language for Z80 CPU.

License

Notifications You must be signed in to change notification settings

Liniya/sjasmplus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sjasmplus

Build Status GitHub repo size in bytes BSD 3-Clause License Coverage Status Language grade: C/C++ GNU/Linux FreeBSD NetBSD Raspberry Pi macOS Windows

Command-line cross-compiler of assembly language for Z80 CPU.

Supports many ZX-Spectrum specific directives, has built-in Lua scripting engine and 3-pass design.

For GNU/Linux, BSD, Raspberry Pi, macOS and Windows (click for exe).

GNU make or CMake installation methods for your convenience.

Online documentation (it is also included in the binary-release zip for offline viewing).

Post issues, feedback, feature requests, etc on github.

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 (STRUCT pseudo-op)
  • Virtual device mode for common machines: ZX 128, ZX Next, … (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)
  • Correctness is assured by Cirrus-CI with 256+ automated tests (that's also 256+ 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

This repository was created by import from original Aprisobal's repository @ https://sourceforge.net/projects/sjasmplus/.

About

Command-line cross-compiler of assembly language for Z80 CPU.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Assembly 55.3%
  • C 22.9%
  • C++ 20.0%
  • Shell 0.9%
  • CMake 0.3%
  • Makefile 0.3%
  • Other 0.3%