~nabijaczleweli/yaxpeax-dis

06aa925affdaf9b4fbbb8ba68ec4530e662a25e7 — iximeow 4 months ago 2c29f91 no-gods-no- 0.2.2
add ia64
4 files changed, 60 insertions(+), 7 deletions(-)

M Cargo.lock
M Cargo.toml
M README.md
M src/main.rs
M Cargo.lock => Cargo.lock +50 -3
@@ 33,6 33,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"

[[package]]
name = "bitvec"
version = "0.19.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11593270830d9b037fbead730bb0c05ef6fbf6be55537a1e8e5892edef7e1f03"
dependencies = [
 "funty",
 "radium",
 "tap",
 "wyz",
]

[[package]]
name = "clap"
version = "2.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 48,6 60,12 @@ dependencies = [
]

[[package]]
name = "funty"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ba62103ce691c2fd80fbae2213dfdda9ce60804973ac6b6e97de818ea7f52c8"

[[package]]
name = "hermit-abi"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 131,6 149,12 @@ dependencies = [
]

[[package]]
name = "radium"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"

[[package]]
name = "redox_syscall"
version = "0.1.56"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 191,6 215,12 @@ dependencies = [
]

[[package]]
name = "tap"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36474e732d1affd3a6ed582781b3683df3d0563714c59c39591e8ff707cf078e"

[[package]]
name = "termion"
version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 258,6 288,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

[[package]]
name = "wyz"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"

[[package]]
name = "yaxpeax-arch"
version = "0.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 291,7 327,7 @@ dependencies = [

[[package]]
name = "yaxpeax-dis"
version = "0.2.1"
version = "0.2.2"
dependencies = [
 "clap",
 "hex",


@@ 299,6 335,7 @@ dependencies = [
 "yaxpeax-arch",
 "yaxpeax-arm",
 "yaxpeax-avr",
 "yaxpeax-ia64",
 "yaxpeax-m16c",
 "yaxpeax-mips",
 "yaxpeax-msp430",


@@ 308,6 345,16 @@ dependencies = [
]

[[package]]
name = "yaxpeax-ia64"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7217bde169dd630a6a36ba6d39771b3e62ceabc0cbd33330728c95ed94b2691"
dependencies = [
 "bitvec",
 "yaxpeax-arch",
]

[[package]]
name = "yaxpeax-m16c"
version = "0.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"


@@ 361,9 408,9 @@ dependencies = [

[[package]]
name = "yaxpeax-x86"
version = "0.1.0"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd9da115d2a5dcf23e1c5bfc80456a3ae0fad0fd011926dcaf6166eea97caaa4"
checksum = "1421f17039bf6032da3243c2e3f3b8d739da14058ac62ab3c668274fa6140eba"
dependencies = [
 "num-traits",
 "serde",

M Cargo.toml => Cargo.toml +3 -2
@@ 1,6 1,6 @@
[package]
name = "yaxpeax-dis"
version = "0.2.1"
version = "0.2.2"
authors = ["iximeow <me@iximeow.net>"]
license = "0BSD"
edition = "2018"


@@ 28,4 28,5 @@ yaxpeax-mips = { version = "0.0.3" }
yaxpeax-msp430 = { version = "0.0.5" }
yaxpeax-pic17 = { version = "0.0.3" }
yaxpeax-pic18 = { version = "0.0.3" }
yaxpeax-x86 = { version = "0.1.0" }
yaxpeax-x86 = { version = "0.1.2" }
yaxpeax-ia64 = { version = "0.1.1" }

M README.md => README.md +5 -1
@@ 16,8 16,12 @@ or `yaxdis -a armv7 83591764ab46cd42`, producing:
0x00000000: 83591764      : ldrvs r5, [r7], #-0x260c
0x00000004: ab46cd42      : sbcmi sp, 0x46ab
```
or `yaxdis -a ia64 e38000000061e200000042c0e1803080`, producing:
```
0x00000000: e38000000061e200000042c0e1803080: [MII] (p07) mov r16=r0; (p09) mov r14=r0;; and r14=r14,r16;;
```

`yaxdis` also takes a `-v` flag to emit more verbose information (really, a `Debug` display of decoded instructions).

## supported architectures / ! user beware !
`yaxdis` should support all architectures listed in the [yaxpeax-arch readme](https://git.iximeow.net/yaxpeax-arch/). that is currently `x86_64`, `armv7`, `armv8`, `mips`, `msp430`, `pic17`, `pic18`, and `m16c`. specific levels of support and stability vary, beware.
`yaxdis` should support all architectures listed in the [yaxpeax-arch readme](https://git.iximeow.net/yaxpeax-arch/). that is currently `x86_64`, `armv7`, `armv8`, `mips`, `msp430`, `pic17`, `pic18`, `m16c`, `avr`, and `ia64`. specific levels of support and stability vary, beware.

M src/main.rs => src/main.rs +2 -1
@@ 16,7 16,7 @@ fn main() {
                .long("--architecture")
                .takes_value(true)
                .possible_values(&[
                    "x86_64", "x86:32", "armv7", "armv8", "avr", "mips", "msp430", "pic17",
                    "x86_64", "x86:32", "ia64", "armv7", "armv8", "avr", "mips", "msp430", "pic17",
                    "pic18", "m16c",
                ])
                .help("architecture to disassemble input as."),


@@ 74,6 74,7 @@ fn main() {
    match arch_str {
        "x86_64" => decode_input::<yaxpeax_x86::long_mode::Arch>(&buf, verbose),
        "x86:32" => decode_input::<yaxpeax_x86::protected_mode::Arch>(&buf, verbose),
        "ia64" => decode_input::<yaxpeax_ia64::IA64>(&buf, verbose),
        "avr" => decode_input::<yaxpeax_avr::AVR>(&buf, verbose),
        "armv7" => decode_input::<yaxpeax_arm::armv7::ARMv7>(&buf, verbose),
        "armv8" => decode_input::<yaxpeax_arm::armv8::a64::ARMv8>(&buf, verbose),