Skip to content
PeyaPeyaPeyang edited this page Jul 23, 2025 · 5 revisions

Welcome to the Javasm Wiki

Javasm is the IntelliJ IDEA plugin for JAL (Java Assembly Language) — a modern, debuggable, and developer-friendly JVM assembly language.

JAL was designed as a full replacement for the abandoned Jasmin project, offering a cleaner syntax, better error handling, and built-in support for modern Java bytecode. Javasm brings JAL into IntelliJ IDEA with full editor and debugger integration.

このページは日本語でもご覧いただけます。


🧭 What is JAL?

JAL (Java Assembly Language) is a textual assembler for the JVM:

  • Designed to be readable and writable by humans
  • Maps directly to JVM bytecode
  • Supports modern JVM versions
  • Clear instruction syntax and stack behavior
  • Easily embeddable into toolchains

It was created to replace Jasmin, which has not been maintained for years and lacks support for modern development workflows.


🧰 What is Javasm?

Javasm is the IntelliJ IDEA plugin that adds:

  • Syntax highlighting and code completion for .jal files
  • Integration with Run Configurations
  • Full debugger support (breakpoints, step over/in, variable inspection)
  • Navigation between source and bytecode
  • In-editor documentation for all instructions

If you're using JAL, Javasm is the toolchain frontend you want.


🔄 From Jasmin to JAL

Why switch from Jasmin?

Feature Jasmin JAL + Javasm
Actively maintained
IDE integration ✅ IntelliJ support
Modern JVM support ✅ (supports new bytecodes)
Debugging support ✅ Breakpoints, stepping, stack
Clear syntax & docs ⚠️
Extensible ✅ (planned macro system)

📚 Documentation


🔧 Getting Started

  1. Install the Javasm plugin from IntelliJ Marketplace.
  2. Write .jal files using the JAL syntax.
  3. Run and debug them like standard Java programs — but at the bytecode level.

🤝 Contributing

Contributions to both JAL and the Javasm plugin are welcome. Check out the GitHub repo for issue tracking, discussions, and PR guidelines.

❤️ Sister Projects


✨ A Modern JVM Assembly Workflow

JAL brings JVM assembly into the 2020s. Javasm makes it usable. Together, they offer a complete ecosystem for learning, experimenting, and building directly on the Java Virtual Machine — with full IDE support and modern tooling.


Welcome to the next generation of JVM assembly.