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),