1 个不稳定版本
0.2.0 | 2021年3月30日 |
---|
#14 in #assemble
84KB
2K SLoC
Rano
二进制文件
ra
Mano Machine 的汇编器。
# You can assemble a program like this:
cargo run --bin ra -- -r MAIN tests/example.mano
# ...
xxd tests/example.hex
# Or like
cargo install rano
# and then
ra -r MAIN tests/example.mano -o example.hex
# ...
xxd example.hex
要获取有关特定选项的更多信息,请运行 ra --help
。
构建模式
ra 支持两种构建模式:调试和发布。默认情况下选择调试。此类构建包含额外的信息,仿真器可以使用这些信息帮助您调试代码。发布构建删除了这些调试符号,因此大小更小。您可以通过以下方式选择它们
# For a debug build
ra -r MAIN tests/example.mano
# For a release build
ra -r MAIN --release tests/example.mano
rano
这尚未完成,但将成为 Mano Machine 仿真器。
lib.rs
:
为 Mano Machine 汇编和运行程序
// It would generally be reccommended that you read this in from a file
let program =
"VAR1, HEX 0100 \nVAR2, HEX 0010 \nMAIN, LDA VAR1 \nADD VAR2 \nSTA VAR2 \nHLT \n";
let bin = match
ass::debug_build(&program, ResetVector::Label("MAIN".to_string())) {
Ok(b) => b,
// Gives you useful error messages
Err(e) => {
println!("{}", e);
exit(-1)
},
};
依赖项
~5–14MB
~152K SLoC