Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/betrusted-io/engine25519-as
macro assembler for curve25519 engine
https://github.com/betrusted-io/engine25519-as
Last synced: 2 days ago
JSON representation
macro assembler for curve25519 engine
- Host: GitHub
- URL: https://github.com/betrusted-io/engine25519-as
- Owner: betrusted-io
- License: gpl-3.0
- Created: 2020-08-05T19:20:57.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-25T00:02:32.000Z (10 months ago)
- Last Synced: 2024-05-01T19:22:36.558Z (8 months ago)
- Language: Rust
- Size: 42 KB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# 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
...
```