Torque

Torque is a lightweight meta-assembler that provides tools to write programs for any processor architecture.

This project was discussed on news.ycombinator.com and lobste.rs.

Overview

Torque is a language and assembler for writing low-level computer programs. As a meta-assembler, Torque doesn’t hard-code behaviours for specific processor architectures like you might expect from a normal assembler: instead, you implement these behaviours yourself as macros, using the datasheet for the target processor as a guide.

Torque was created as a small, powerful, and flexible alternative to proprietary assemblers, and in particular as an alternative to assemblers for proprietary embedded platforms, which can often be clunky, bloated, poorly documented, and overly restrictive.

See the Introduction to Torque article for a gentle introduction to the language and workflow.

Installation

Source code for the torque assembler can be downloaded from code.benbridle.com/torque-asm.

The latest release is available as pre-built executables for Windows and Linux:

Build from source

To build the Torque assembler from source, first install the Rust compiler from www.rust-lang.org/tools/install, and then run cargo build --release inside the torque-asm source code directory.

The compiled binary will be created at ./target/release/tq.

Support my work

If you want to support my work, you can also choose to purchase a copy of Torque from itch.io at whatever price you feel is fair.

Usage

The following command will assemble the Torque source file source and save the assembled output to the file destination as raw bytes.

tq [source] [destination] --format=raw

Documentation

Tutorials

Development

License

Torque is licensed under the MIT License. Feel free to use it, change it, and share it however you want.