Git Product home page Git Product logo

sjasmplus's Introduction

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)
  • 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 380+ automated tests (that's also 380+ 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/.

Other useful tools for sjasmplus users

Some of these may be useful for sjasmplus users (depending on the platform and tools you are using):

Support for Z80 macro-assemblers in Visual Studio Code - syntax highlighting, "problem matcher" for assembler output, on hover info about labels, symbols, completion proposals, renaming provider, macro documenter and arguments definitions.

This can be further complemented by Z80 Assembly meter plugin for Visual Studio Code.

#CSpect is ZX Spectrum Next emulator with built-in debugger and map-files support to show labels from source code.

ZEsarUX is multi-machine emulator focusing on ZX Spectrum family of machines, including also ZX Spectrum Next, having many many options, lot of menus, and lot debugging capabilities - if you are particularly interested into ZX Spectrum Next SW development, the #CSpect is often a bit ahead in overall emulation fidelity, but ZEsarUX is often more accurate in subtle edge-case details, so you may want to have both of them around for different occasions. Also you may want to have ZEsarUX around for:

DeZog - Z80 Debugger (for Visual Studio Code) for debugging ZX Spectrum code, writing unit tests for it, time the execution, etc.

(if you are not excited about using VSC as IDE and want to try some alternative) Syntax highlight (only) for Kate iconKate editor is included directly in sjasmplus sources.


All product names, trademarks and registered trademarks are property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names,trademarks and brands does not imply endorsement.

sjasmplus's People

Contributors

alexanderk23 avatar catpainblack avatar cizo2000 avatar ckirby101 avatar dependabot[bot] avatar evolutional avatar fengjixuchui avatar jurajlutter avatar kborowinski avatar lvd2 avatar mborik avatar ped7g avatar serg-meus avatar z00m128 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.