A toy MSP430 assembler using recursive descent parsing for fast and efficient operation
Go to file
John Breaux c7402b8dab msp430-asm: use macro_rules! instead of nightly macro syntax.
It may be nice, but y'know what's nicer? Building on stable.
2024-08-05 12:38:17 -05:00
examples/msp430-help Remove dependency on nightly Rust 2024-07-31 10:43:58 -05:00
msp430-asm msp430-asm: use macro_rules! instead of nightly macro syntax. 2024-08-05 12:38:17 -05:00
sample-asm Update shellcode.asm 2024-07-31 11:59:45 -05:00
src ast: Consistent constant folding. 2024-08-05 12:36:27 -05:00
.gitignore Update .gitignore: Ignore vscode workspace config files 2024-01-26 18:27:23 -06:00
.rustfmt.toml v0.3.0: Total overhaul 2024-01-30 05:27:12 -06:00
Cargo.toml v0.3.0: Total overhaul 2024-01-30 05:27:12 -06:00
grammar.ebnf grammar.ebnf: Commit incomplete grammar description 2024-01-30 05:29:25 -06:00
LICENSE.md v0.3.0: Total overhaul 2024-01-30 05:27:12 -06:00
readme.md Add readme.md 2023-08-20 00:53:35 -05:00

msp430-asm

A toy assembler for the TI MSP430, built with MicroCorruption in mind.

Usage

msp430-asm [-|-f|--file]

The frontend isn't very smart. It does no fancy arg parsing, no key interpretation or cursor manipulation or TUI goodness that everyone knows and loves. It does four things: Read. Evaluate. Print. Loop. Basic REPL. It doesn't even check whether you're running interactively or not.

By default, the assembler operates in repl mode, and each line is treated in isolation. This is great for quickly looking up an instruction.

To parse an entire file at once, and get useful context when there's a parse error, pipe it in through stdin with - as such:

cat valid.asm | msp430-asm -f

You can press Ctrl+D on Linux to emit an EOF over the terminal.

Motivations

  • Microcorruption's assembler sucks
  • I got tired of stringly-typed Python
  • I wanted to write a parser
  • I wanted to write Rust
  • I'm a fan of interactive programs