aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2020-02-06 00:50:52 -0800
committeriximeow <me@iximeow.net>2020-02-06 01:10:20 -0800
commitc9213c1ad0b0295744388710f8b3d343a5cf0271 (patch)
treeb1c7fe6d7755d89b116cd57e3bfe325ec7adfb22 /README.md
parent4357d69df98aa1b1de5f94a62fcdc77f6fa1a8c9 (diff)
clean up yaxdis and make for usable help
Diffstat (limited to 'README.md')
-rw-r--r--README.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ac83eac
--- /dev/null
+++ b/README.md
@@ -0,0 +1,23 @@
+## yaxpeax-dis
+
+`yaxpeax-dis` is the repo providing `yaxdis`, a small and very naive disassembler to exercise decoders in the [yaxpeax project](https://git.iximeow.net/yaxpeax-arch/). it does not (currently?) do much other than disassembling hex input, and is mostly useful as an example of how to use decoders and spot-checking a specific instruction's decoding.
+
+## usage
+
+if you just want to build and use it, `cargo install yaxpeax-dis` should get you started. otherwise, clone this repo and a `cargo build` will work as well.
+
+`yaxdis [-a arch] [hex bytes]`, such as `yaxdis -a x86_64 33c0c3` which should yield:
+```
+0x00000000: 33c0 : xor eax, eax
+0x00000002: c3 : ret
+```
+or `yaxdis -a armv7 83591764ab46cd42`, producing:
+```
+0x00000000: 83591764 : ldrvs r5, [r7], #-0x260c
+0x00000004: ab46cd42 : sbcmi sp, 0x46ab
+```
+
+`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.