Commit Graph

126 Commits

Author SHA1 Message Date
Richard Patel 4853c12054 macros/writer: add mnemonic suffixes 2021-08-15 10:42:27 +02:00
Richard Patel 67efa31bbd create write_asm macro 2021-08-15 10:32:46 +02:00
Richard Patel 0c65617c69 macros: cleanup 2021-08-15 07:06:31 +02:00
Richard Patel fb7bf08a06
Pluggable formatting engine (#8) 2021-08-15 03:53:38 +02:00
Richard Patel 9e5fa58e3e auto-generate mnemonics function 2021-08-14 11:02:10 +02:00
Richard Patel fca4e052a6 add info to Cargo.tomls 2021-08-14 10:31:21 +02:00
Richard Patel 18e0d430df
Create LICENSE 2021-08-14 10:18:38 +02:00
Richard Patel d8e951befc
lib: use opcode masks (#7)
Implements a procedural macro for defining the ISA.
Moves validity checks to bitmasks instead of spaghetti code patterns.

Solves #1
2021-08-14 10:17:10 +02:00
Richard Patel 3971f22b11 macros: Generate Opcode::is_valid() 2021-08-14 09:05:30 +02:00
Richard Patel f3aa97b365 Opcode table via procedural macro 2021-08-14 08:40:36 +02:00
Richard Patel ecd06bf524 random instruction generator, use std::io::Write 2021-08-14 03:28:16 +02:00
Richard Patel 8b8bb66031 use fmt::Write instead of String, support stable toolchain 2021-08-14 03:01:19 +02:00
Richard Patel 0f5a439725 fix broken opcode decoding 2021-08-14 02:37:03 +02:00
Richard Patel 31d06e1373 mfspr, mtspr, bclr simplified mnemonics 2021-08-14 02:26:10 +02:00
Richard Patel c953299b93 more unit tests 2021-08-14 02:12:20 +02:00
Richard Patel 4d29089e6e more readable unit tests 2021-08-14 01:52:20 +02:00
Richard Patel ec82c013cf cleanup Ins struct 2021-08-14 01:45:59 +02:00
Richard Patel 9959cf2e7d linting 2021-08-14 01:13:20 +02:00
Richard Patel a94ee22d14 use write instead of format
Decreases fuzz time from 183s to 72s.
2021-08-14 01:10:52 +02:00
Richard Patel 7d2b8c16ca cargo workspace layout, multithreaded fuzzer 2021-08-14 00:33:10 +02:00
Richard Patel 3fb8a76a2f
Add CI for cargo clippy, test (#5) 2021-08-13 23:07:47 +02:00
Richard Patel 0701bc7457 Simplify code 2021-08-13 22:42:31 +02:00
Richard Patel ae8503b217 Implement all print instructions 2021-08-13 22:25:43 +02:00
Richard Patel a08ef23ab6 remove unused print instruction 2021-08-08 18:55:05 +02:00
Richard Patel cdd8088511 WIP printing 2021-08-08 18:54:37 +02:00
Richard Patel a8de638aaf Initial commit 2021-08-08 02:59:07 +02:00