├── .github └── workflows │ ├── release-plz.yml │ └── rust.yml ├── .gitignore ├── CHANGELOG.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── includes ├── 1200def.inc ├── 2313def.inc ├── 2323def.inc ├── 2343def.inc ├── 4414def.inc ├── 4433def.inc ├── 4434def.inc ├── 8515def.inc ├── 8535def.inc ├── m103def.inc ├── m1280def.inc ├── m128def.inc ├── m161def.inc ├── m162def.inc ├── m163def.inc ├── m165def.inc ├── m168def.inc ├── m169def.inc ├── m16def.inc ├── m2560def.inc ├── m2561def.inc ├── m323def.inc ├── m3250def.inc ├── m325def.inc ├── m328Pdef.inc ├── m3290def.inc ├── m329def.inc ├── m32def.inc ├── m406def.inc ├── m48def.inc ├── m644def.inc ├── m649def.inc ├── m64def.inc ├── m8515def.inc ├── m8535def.inc ├── m88def.inc ├── m8def.inc ├── pwm2def.inc ├── pwm3def.inc ├── std │ ├── convert.inc │ ├── io.inc │ ├── ram.inc │ ├── serial.inc │ ├── stack.inc │ ├── vectors.inc │ └── vectors │ │ └── m48.inc ├── tn10def.inc ├── tn11def.inc ├── tn12def.inc ├── tn13Adef.inc ├── tn13def.inc ├── tn15def.inc ├── tn20def.inc ├── tn22def.inc ├── tn2313Adef.inc ├── tn2313def.inc ├── tn24Adef.inc ├── tn24def.inc ├── tn25def.inc ├── tn26def.inc ├── tn28def.inc ├── tn4313def.inc ├── tn44Adef.inc ├── tn44def.inc ├── tn45def.inc ├── tn48def.inc ├── tn84def.inc ├── tn85def.inc └── tn88def.inc ├── materials └── assembler_source.md ├── rust-toolchain.toml ├── rustfmt.toml ├── src ├── app │ ├── main.rs │ └── opt.rs ├── builder │ ├── mod.rs │ ├── pass0.rs │ ├── pass1.rs │ └── pass2.rs ├── context.rs ├── device.rs ├── directive.rs ├── document.rs ├── expr.rs ├── instruction │ ├── mod.rs │ ├── operation.rs │ └── register.rs ├── lib.rs ├── parser.rs ├── utility.rs └── writer.rs └── tests ├── builder_simple.asm ├── include_path_test.asm ├── include_test.asm ├── include_test.inc └── includes └── include_test_2.inc /.github/workflows/release-plz.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/.github/workflows/release-plz.yml -------------------------------------------------------------------------------- /.github/workflows/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/.github/workflows/rust.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .idea 3 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/README.md -------------------------------------------------------------------------------- /includes/1200def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/1200def.inc -------------------------------------------------------------------------------- /includes/2313def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/2313def.inc -------------------------------------------------------------------------------- /includes/2323def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/2323def.inc -------------------------------------------------------------------------------- /includes/2343def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/2343def.inc -------------------------------------------------------------------------------- /includes/4414def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/4414def.inc -------------------------------------------------------------------------------- /includes/4433def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/4433def.inc -------------------------------------------------------------------------------- /includes/4434def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/4434def.inc -------------------------------------------------------------------------------- /includes/8515def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/8515def.inc -------------------------------------------------------------------------------- /includes/8535def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/8535def.inc -------------------------------------------------------------------------------- /includes/m103def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m103def.inc -------------------------------------------------------------------------------- /includes/m1280def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m1280def.inc -------------------------------------------------------------------------------- /includes/m128def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m128def.inc -------------------------------------------------------------------------------- /includes/m161def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m161def.inc -------------------------------------------------------------------------------- /includes/m162def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m162def.inc -------------------------------------------------------------------------------- /includes/m163def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m163def.inc -------------------------------------------------------------------------------- /includes/m165def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m165def.inc -------------------------------------------------------------------------------- /includes/m168def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m168def.inc -------------------------------------------------------------------------------- /includes/m169def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m169def.inc -------------------------------------------------------------------------------- /includes/m16def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m16def.inc -------------------------------------------------------------------------------- /includes/m2560def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m2560def.inc -------------------------------------------------------------------------------- /includes/m2561def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m2561def.inc -------------------------------------------------------------------------------- /includes/m323def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m323def.inc -------------------------------------------------------------------------------- /includes/m3250def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m3250def.inc -------------------------------------------------------------------------------- /includes/m325def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m325def.inc -------------------------------------------------------------------------------- /includes/m328Pdef.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m328Pdef.inc -------------------------------------------------------------------------------- /includes/m3290def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m3290def.inc -------------------------------------------------------------------------------- /includes/m329def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m329def.inc -------------------------------------------------------------------------------- /includes/m32def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m32def.inc -------------------------------------------------------------------------------- /includes/m406def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m406def.inc -------------------------------------------------------------------------------- /includes/m48def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m48def.inc -------------------------------------------------------------------------------- /includes/m644def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m644def.inc -------------------------------------------------------------------------------- /includes/m649def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m649def.inc -------------------------------------------------------------------------------- /includes/m64def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m64def.inc -------------------------------------------------------------------------------- /includes/m8515def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m8515def.inc -------------------------------------------------------------------------------- /includes/m8535def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m8535def.inc -------------------------------------------------------------------------------- /includes/m88def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m88def.inc -------------------------------------------------------------------------------- /includes/m8def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/m8def.inc -------------------------------------------------------------------------------- /includes/pwm2def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/pwm2def.inc -------------------------------------------------------------------------------- /includes/pwm3def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/pwm3def.inc -------------------------------------------------------------------------------- /includes/std/convert.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/std/convert.inc -------------------------------------------------------------------------------- /includes/std/io.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/std/io.inc -------------------------------------------------------------------------------- /includes/std/ram.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/std/ram.inc -------------------------------------------------------------------------------- /includes/std/serial.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/std/serial.inc -------------------------------------------------------------------------------- /includes/std/stack.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/std/stack.inc -------------------------------------------------------------------------------- /includes/std/vectors.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/std/vectors.inc -------------------------------------------------------------------------------- /includes/std/vectors/m48.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/std/vectors/m48.inc -------------------------------------------------------------------------------- /includes/tn10def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn10def.inc -------------------------------------------------------------------------------- /includes/tn11def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn11def.inc -------------------------------------------------------------------------------- /includes/tn12def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn12def.inc -------------------------------------------------------------------------------- /includes/tn13Adef.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn13Adef.inc -------------------------------------------------------------------------------- /includes/tn13def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn13def.inc -------------------------------------------------------------------------------- /includes/tn15def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn15def.inc -------------------------------------------------------------------------------- /includes/tn20def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn20def.inc -------------------------------------------------------------------------------- /includes/tn22def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn22def.inc -------------------------------------------------------------------------------- /includes/tn2313Adef.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn2313Adef.inc -------------------------------------------------------------------------------- /includes/tn2313def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn2313def.inc -------------------------------------------------------------------------------- /includes/tn24Adef.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn24Adef.inc -------------------------------------------------------------------------------- /includes/tn24def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn24def.inc -------------------------------------------------------------------------------- /includes/tn25def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn25def.inc -------------------------------------------------------------------------------- /includes/tn26def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn26def.inc -------------------------------------------------------------------------------- /includes/tn28def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn28def.inc -------------------------------------------------------------------------------- /includes/tn4313def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn4313def.inc -------------------------------------------------------------------------------- /includes/tn44Adef.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn44Adef.inc -------------------------------------------------------------------------------- /includes/tn44def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn44def.inc -------------------------------------------------------------------------------- /includes/tn45def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn45def.inc -------------------------------------------------------------------------------- /includes/tn48def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn48def.inc -------------------------------------------------------------------------------- /includes/tn84def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn84def.inc -------------------------------------------------------------------------------- /includes/tn85def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn85def.inc -------------------------------------------------------------------------------- /includes/tn88def.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/includes/tn88def.inc -------------------------------------------------------------------------------- /materials/assembler_source.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/materials/assembler_source.md -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "stable" 3 | -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | imports_granularity = "Crate" 2 | -------------------------------------------------------------------------------- /src/app/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/app/main.rs -------------------------------------------------------------------------------- /src/app/opt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/app/opt.rs -------------------------------------------------------------------------------- /src/builder/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/builder/mod.rs -------------------------------------------------------------------------------- /src/builder/pass0.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/builder/pass0.rs -------------------------------------------------------------------------------- /src/builder/pass1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/builder/pass1.rs -------------------------------------------------------------------------------- /src/builder/pass2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/builder/pass2.rs -------------------------------------------------------------------------------- /src/context.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/context.rs -------------------------------------------------------------------------------- /src/device.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/device.rs -------------------------------------------------------------------------------- /src/directive.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/directive.rs -------------------------------------------------------------------------------- /src/document.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/document.rs -------------------------------------------------------------------------------- /src/expr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/expr.rs -------------------------------------------------------------------------------- /src/instruction/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/instruction/mod.rs -------------------------------------------------------------------------------- /src/instruction/operation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/instruction/operation.rs -------------------------------------------------------------------------------- /src/instruction/register.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/instruction/register.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/parser.rs -------------------------------------------------------------------------------- /src/utility.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/utility.rs -------------------------------------------------------------------------------- /src/writer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/src/writer.rs -------------------------------------------------------------------------------- /tests/builder_simple.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/tests/builder_simple.asm -------------------------------------------------------------------------------- /tests/include_path_test.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/tests/include_path_test.asm -------------------------------------------------------------------------------- /tests/include_test.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/no111u3/avra-rs/HEAD/tests/include_test.asm -------------------------------------------------------------------------------- /tests/include_test.inc: -------------------------------------------------------------------------------- 1 | .device ATmega48 2 | 3 | .equ SREG = 0x3f ; Test equ -------------------------------------------------------------------------------- /tests/includes/include_test_2.inc: -------------------------------------------------------------------------------- 1 | .device ATmega88 2 | 3 | .equ SREG = 0x3f ; Test equ --------------------------------------------------------------------------------