1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
## 0.3.0
TODO: Reader::next_n should return the number of items read as Err(ReadError::Incomplete(n)) if the buffer is exhausted
TODO: Reader::offset should return an AddressDiff<Address>, not a bare Address
## 0.2.5
added `yaxpeax-lc87` to the matrix
## 0.2.4
fix incorrect `Reader` impls of `offset` and `total_offset` on non-`u8` words
## 0.2.3
added `Reader` impls for `U8Reader` on `u16` addresses
## 0.2.2
added `ReaderBuilder` trait and impls for `U8Reader` on various address and word types.
added documentation for `Reader`, `U8Reader`, and `ReaderBuilder`.
avoid an unlikely violation of `core::ptr::offset` safety rules on 32-bit architectures.
## 0.2.1
updated architecture matrix
## 0.2.0
correct a bug in 0.1.0 that incorrectly bounded `DecodeError` and did not actually require `std::error::Error`. added a test that `std::error::Error` is actually required of `Arch::DecodeError` in non-std builds.
## 0.1.0
new trait `Reader` to provide a reader of `Arch`-defined `Word`s. in many cases it is acceptable for `Word` to be `u8`, but `yaxpeax-arch` provides pre-defined words `u8`, `U16le`, `U16be`, `U32le`, `U32be`, `U64le`, and `U64be`.
`yaxpeax_arch::U8Reader` is a struct to read from `&[u8]` that implements `Reader` for all predefined words. it is suitable to read larger words if the minimum word size is still one byte.
`Decoder` now decodes from a `Reader<A::Address, A::Word>`, to prepare for ISAs where instruction sizes are not multiples of 8 bits.
`yaxpeax_arch::DecodeError` now requires a `std::error::Error` impl for `std` builds, to support interop with the Rust `error` ecosystem.
committed to `AddressDiff` being convertable to a primitive with `AddressDiff::to_const`
- this addresses the need for hacks to translate an instruction length into a usize
## 0.0.5
swap the `termion` dependency for `crossterm`. this is motivated by improved cross-platform support (notably Windows) as well as removing a type parameter from `Colored` and `YaxColors`.
## 0.0.4
add `AddressDiff`. `LengthedInstruction::len` now return `AddressDiff`. the length of an instruction is the difference between two addresses, not itself an address.
## 0.0.3
`ColorSettings` gets a default impl
## 0.0.2
add `AddressDisplay` to provide a usable interface to display `Address` implementors.
at the same time, remove `Address::stringy()`. it was a very bad interface, and will not be missed.
## 0.0.1
history starts here
|