<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yaxpeax-x86, branch 0.1.5</title>
<subtitle>yaxpeax x86 decoder</subtitle>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/'/>
<entry>
<title>support xchg AX/reg</title>
<updated>2021-01-16T02:41:16+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2021-01-16T02:40:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=6232e8b1daf7067cb2e8065687530d5f88ecb46d'/>
<id>6232e8b1daf7067cb2e8065687530d5f88ecb46d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>small perf tweaks</title>
<updated>2021-01-16T02:21:19+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2021-01-16T02:15:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=d8083b08dc987adeda73fb13298383c6cf519596'/>
<id>d8083b08dc987adeda73fb13298383c6cf519596</id>
<content type='text'>
clearing reg_rrr and reg_mmm more efficiently is an extremely small win,
but a win

read_imm_signed generally should inline well and runs afoul of some
heuristic. inlining gets about 8% improved throughput on the
(unrealistic) in-repo benchmark

it would be great to be able to avoid bounds checks somehow; it looks
like they alone are another ~10% of decode time. i'm not sure how to
pull that off while retaining the generic iterator parameter. might just
not be possible.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
clearing reg_rrr and reg_mmm more efficiently is an extremely small win,
but a win

read_imm_signed generally should inline well and runs afoul of some
heuristic. inlining gets about 8% improved throughput on the
(unrealistic) in-repo benchmark

it would be great to be able to avoid bounds checks somehow; it looks
like they alone are another ~10% of decode time. i'm not sure how to
pull that off while retaining the generic iterator parameter. might just
not be possible.
</pre>
</div>
</content>
</entry>
<entry>
<title>bump yaxpeax-x86 version for release</title>
<updated>2021-01-15T22:58:13+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2021-01-15T22:58:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=dd88df2b9769630f8eafe909e00eb3a3a21c954e'/>
<id>dd88df2b9769630f8eafe909e00eb3a3a21c954e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix several missing or invalid decodings among 0f01 opcodes</title>
<updated>2021-01-15T22:52:11+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2021-01-15T22:52:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=f057c712f91b215034fe84fa0f22694aaa8dffb3'/>
<id>f057c712f91b215034fe84fa0f22694aaa8dffb3</id>
<content type='text'>
* `mwaitx`, `monitorx`, `rdpru`, and `clzero` are now supported
* swapgs is no longer decoded in protected mode
* rdpkru and wrpkru are no longer decoded if mod bits != 11
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* `mwaitx`, `monitorx`, `rdpru`, and `clzero` are now supported
* swapgs is no longer decoded in protected mode
* rdpkru and wrpkru are no longer decoded if mod bits != 11
</pre>
</div>
</content>
</entry>
<entry>
<title>fix decoding of rex-prefixed modrm+sib operands selecting index 0b100 and base 0b101</title>
<updated>2020-11-20T02:13:24+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2020-11-20T02:13:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=81e9b93aab9217cf7cb508f64b19fc1c0df024b5'/>
<id>81e9b93aab9217cf7cb508f64b19fc1c0df024b5</id>
<content type='text'>
for memory operands with a base, index, and displacement either
the wrong base would be selected (register number ignored, so only
`*ax` or `r8*` would be reported), or yaxpeax-x86 would report a
base register is present when it is not (`RegIndexBaseScaleDisp`
when the operand is actually `RegScaleDisp`)

thank you to Evan Johnson for catching and reporting this bug!

also bump crate version to 0.1.4 as this will be immediately tagged and
released.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
for memory operands with a base, index, and displacement either
the wrong base would be selected (register number ignored, so only
`*ax` or `r8*` would be reported), or yaxpeax-x86 would report a
base register is present when it is not (`RegIndexBaseScaleDisp`
when the operand is actually `RegScaleDisp`)

thank you to Evan Johnson for catching and reporting this bug!

also bump crate version to 0.1.4 as this will be immediately tagged and
released.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update README.md (#5)</title>
<updated>2020-10-27T08:00:14+00:00</updated>
<author>
<name>Jan</name>
<email>janbrennen@gmail.com</email>
</author>
<published>2020-10-02T16:05:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=e3a400b7a96284d1394cd710ea3bcee01dbfe95f'/>
<id>e3a400b7a96284d1394cd710ea3bcee01dbfe95f</id>
<content type='text'>
* Update README.md

very typpo</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Update README.md

very typpo</pre>
</div>
</content>
</entry>
<entry>
<title>fix misdecode of instructions in opcode 0x80</title>
<updated>2020-10-27T07:57:33+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2020-10-27T07:57:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=39aaebeb48c30b96b4ff8b66663a1452e2571426'/>
<id>39aaebeb48c30b96b4ff8b66663a1452e2571426</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add RegSpec constructors, consts, and const fns</title>
<updated>2020-08-15T20:15:29+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2020-08-15T20:15:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=fb9ead64e6c7d96c02627b01b6a85921e2d8f7a4'/>
<id>fb9ead64e6c7d96c02627b01b6a85921e2d8f7a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>forgot to strengthen that heading too</title>
<updated>2020-08-15T18:40:59+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2020-08-15T18:40:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=8ccbdba5fe492cb853f10cfe3c486cdc5a50e6e9'/>
<id>8ccbdba5fe492cb853f10cfe3c486cdc5a50e6e9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add register class constants to allow reasoning about register operands</title>
<updated>2020-08-15T18:39:04+00:00</updated>
<author>
<name>iximeow</name>
<email>me@iximeow.net</email>
</author>
<published>2020-08-15T18:38:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.iximeow.net/yaxpeax-x86/commit/?id=a0b1fddbb55cbab9d482d4f8cffc7ffe87f73864'/>
<id>a0b1fddbb55cbab9d482d4f8cffc7ffe87f73864</id>
<content type='text'>
also bump to 0.1.1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
also bump to 0.1.1
</pre>
</div>
</content>
</entry>
</feed>
