From 32c44fd311332abfbf9a2ec5bb7d228f13659f9d Mon Sep 17 00:00:00 2001 From: John Breaux Date: Sun, 20 Aug 2023 00:53:35 -0500 Subject: [PATCH] Add readme.md --- readme.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..cc174d3 --- /dev/null +++ b/readme.md @@ -0,0 +1,27 @@ +# msp430-asm + +A toy assembler for the TI MSP430, built with MicroCorruption in mind. + +# Usage +```sh +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: +```sh +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