Commit Graph

23 Commits

Author SHA1 Message Date
a892ad09f1 Removed pseudo::*Assign instructions. 2021-01-12 01:34:40 +00:00
27fc4e4a5a Removed pseudo::jmp and made basic::{cond, jmp::reg} write the pseudo instrutions. 2021-01-12 01:30:30 +00:00
220d0068a6 Improved inst::iter.
The decompiler now successfully goes through functions, data and others.
2021-01-12 01:17:02 +00:00
267cfd1cd7 Finished the co-processor instructions. 2021-01-11 19:45:57 +00:00
ec0d1bcf0c Added basic::co instructions (not finished yet).
Removed `InstFmt::mnemonic`.
2021-01-11 19:07:09 +00:00
a00fd15d49 Added pseudo::{load, store} instructions.
Fixed `basic::{load, store}` instructions reading destination and source backwards.
2021-01-11 17:25:18 +00:00
cc44af744c Fixed missing 0x when printing signed hex in some places. 2021-01-11 16:59:22 +00:00
e29c3ed4e0 Added pseudo::jmp.
Refactored `basic::{jmp, cond}`'s target calculation.
2021-01-11 16:58:20 +00:00
195e7d9f24 Added TryInto for all enum instructions.
Added `pseudo::load_imm` instrution.
Instructions are now only decoded if aligned to a word.
2021-01-11 15:39:12 +00:00
8d08ed0d60 Directive now stores a reference to the string read.
`InstFmt` no longer requires the instruction bytes.
2021-01-11 14:41:42 +00:00
847e88d490 Added inst::InstSize.
Removed `Pos + i16` implementation.
Added `Pos + usize` implementation.
2021-01-11 13:45:16 +00:00
a40802a84c Fixed load and store basic instruction being presented wrong. 2021-01-11 13:02:35 +00:00
543283f04f Added dcb_util::DisplayWrapper and now using it in dcb-exe. 2021-01-10 14:03:03 +00:00
c04eb2245a Changed all Encodable::encode impl declarations to be consistent. 2021-01-09 15:57:11 +00:00
764628e691 Revised dcb_exe::exe::pos's impls.
Ran `cargo fmt` on the whole project.
2021-01-09 14:37:15 +00:00
2f4aea7eec Revised documentation and lints for dcb-exe/lib.rs.
Fixed formatting in `mult::Inst`'s `InstFmt::fmt` impl.
2021-01-09 13:45:02 +00:00
c0b2fd8c62 Added FuncTable and Func back to dcb-exe.
Added an iterator over function, data and misc (`ExeItem`) for the executable.
2021-01-09 12:34:43 +00:00
854d90858e Fixed basic::Inst not decoding everything correctly. 2021-01-08 17:43:06 +00:00
5ad6f6cb5e Added basic::shift instruction. 2021-01-08 16:15:28 +00:00
058da819ee Implemented InstFmt for pseudo::Inst and Directive.
Renamed `PseudoInst` to `Inst`.
2021-01-08 15:53:35 +00:00
0483c63bfd Added new InstFmt trait for formatting instructions. 2021-01-08 15:26:43 +00:00
7c196ec4a9 Added dcb_exe::exe::inst::basic::{Decodable, Encodable}. 2021-01-08 14:33:49 +00:00
48e29ec83c Revamped most things.
Honstly not sure what's happened, but `dcb-exe` is mostly being redone from scratch.
2021-01-08 13:39:50 +00:00