aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock53
-rw-r--r--Cargo.toml5
-rw-r--r--README.md6
-rw-r--r--src/main.rs3
4 files changed, 60 insertions, 7 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 1a1b9b8..89b12e1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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",
diff --git a/Cargo.toml b/Cargo.toml
index ae251e4..4552fc6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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" }
diff --git a/README.md b/README.md
index ac83eac..cd8f7a9 100644
--- a/README.md
+++ b/README.md
@@ -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.
diff --git a/src/main.rs b/src/main.rs
index d194a50..732f747 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -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),