README: add initial readme

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
Sean Cross 2020-08-06 16:49:30 +08:00
parent aaf4c2f67d
commit 70ad4b74db
1 changed files with 31 additions and 0 deletions

31
README.md Normal file
View File

@ -0,0 +1,31 @@
# The Engine Assembler
Provides an assembler-as-macro that lets you assemble The Engine bytecode
in your program. For example, to create an infinite loop, run:
```rust
let mcode = engine25519_as::assemble_engine25519!(
start:
brz start, #0
);
```
## Disassembly
You can use a basic disassembler provided by this crate. To disassemble a single opcode, run:
```rust
let opcode = engine25519_as::disasm::Opcode::from_i32(0x14_7985);
println!("Opcode: {}", opcode);
```
## Debugging the Macro
To debug the macro, use the `nightly` toolchain and enable the `macro-debug` feature.
An easy way to do this is:
```sh
$ cargo +nightly test --features macro-debug
...
```