4 ms·
I've been meaning to solidify my memory of common x86 instructions for a while, but I never got around to it because I get distracted by the bazillion other mor
by vortico 10y ago
I've been meaning to solidify my memory of common x86 instructions for a while, but I never got around to it because I get distracted by the bazillion other more advanced instructions. This guide is nice because it covers a few common instructions in a complete-enough manner but not excruciating details like the Intel manual.
- userbinator 10y agoUnless you're looking at handwritten and/or deliberately obfuscated code, the "more advanced" instructions are unlikely to be encountered; the bulk of compiler-generated general-purpose code will be moves, ALU ops, pushes, and pops along with the usual control flow calls, returns, and jumps.
- vortico 10y agoI deal with a lot of manual SIMD code in C with <nmmintrin.h> etc, but being a C programmer, I've forgotten how some of the "normal" instructions work. Also the advanced instructions are useful to at least be familiar with when you're working with disassembly, or studying how compilers optimize code.
- tomsmeding 10y agoMost of the time you don't need all the special-purpose instructions. I mean, mov is Turing complete. runs away
- sigjuice 10y agoYou don't even need mov. X86 MMU fault handling mechanism is Turing complete. https://github.com/jbangert/trapcc https://github.com/jbangert/trapcc
- jaclaz 10y agoYep, just in case: https://news.ycombinator.com/item?id=9751312 https://news.ycombinator.com/item?id=9751312 https://github.com/xoreaxeaxeax/movfuscator https://github.com/xoreaxeaxeax/movfuscator And the XOR post-processor: https://github.com/xoreaxeaxeax/movfuscator/blob/master/post/xor.py https://github.com/xoreaxeaxeax/movfuscator/blob/master/post...
- kensai 10y agoExactly! This is a very nice and relatively brief guide. Bookmarked. :)
- deleted 10y ago[deleted]