Fork of https://github.com/fox32-arch/fox32asm, mirrored on github at https://github.com/xeniagda/fox32asm-mirror
e59e0ef83d
Previously, the following program: push.16 0 data.16 0 ... crashed fox32asm: thread 'main' panicked at 'internal error: entered unreachable code', src/main.rs:620:22 stack backtrace: 0: rust_begin_unwind at /usr/src/rustc-1.63.0/library/std/src/panicking.rs:584:5 1: core::panicking::panic_fmt at /usr/src/rustc-1.63.0/library/core/src/panicking.rs:142:14 2: core::panicking::panic at /usr/src/rustc-1.63.0/library/core/src/panicking.rs:48:5 3: fox32asm::parse_data 4: fox32asm::build_ast_from_expression 5: fox32asm::main note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace. The issue in line 620 is that parse_data expects a constant in the form of AstNode::Immediate32, but finds an AstNode::Immediate16, because CURRENT_SIZE was previously set to Half. Set CURRENT_SIZE to Word when starting to parse a new data directive, in order to fix this issue. Fixes #4 |
||
---|---|---|
.github/workflows | ||
src | ||
.gitignore | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
fox32asm
fox32asm is a work-in-progress assembler for fox32.
Getting Started
Stable releases are available on the Releases page.
Prebuilt binaries of the latest commit are also available on the GitHub Actions page.
Usage
fox32asm expects arguments in the following order:
fox32asm <input> <output>
<output>
should end in the file extension
.fxf
if building a relocatable FXF binary, otherwise a raw
binary will be generated instead.
License
This project is licensed under the MIT license.