TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Re: “Does a compiler use all x86 instructions?”

9 pointsby vegadwabout 4 years ago

2 comments

TheAdamistabout 4 years ago
Most of the exotic and rare instructions are data that a linear disassembler plows through without knowing any better.<p>3dnow and via extensions aren&#x27;t actually emitted for common binaries, even if objdump claims they are there.<p>Validating my own disassembler against objdumps output showed a lot of these outliers.<p>A recursive disassembler is better at only attempting to disassemble code that actually appears in the code path, although then it misses things that are indirectly in the code sequence.<p>It&#x27;s an unsolved problem.<p>You might consider rerunning your analysis with ghidra or Ida, but those aren&#x27;t as easy to mass disassemble like objdump *.
peter_d_shermanabout 4 years ago
The following might be of interest:<p>movfuscator<p>&quot;The single instruction C compiler&quot;<p><a href="https:&#x2F;&#x2F;github.com&#x2F;xoreaxeaxeax&#x2F;movfuscator" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;xoreaxeaxeax&#x2F;movfuscator</a><p>...In other words, yes, it is possible to write a complete compiler which creates all of its compiled code by using only one single type of x86 instruction...<p>Also, this might be interesting:<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;One-instruction_set_computer" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;One-instruction_set_computer</a><p>&gt;&quot;A one-instruction set computer (OISC), sometimes called an ultimate reduced instruction set computer (URISC), is an abstract machine that uses only one instruction – obviating the need for a machine language opcode.[1][2][3] With a judicious choice for the single instruction and given infinite resources, an OISC is capable of being a universal computer in the same manner as traditional computers that have multiple instructions.[2]:55 OISCs have been recommended as aids in teaching computer architecture[1]:327[2]:2 and have been used as computational models in structural computing research.[3]&quot;
评论 #27132310 未加载
评论 #27132729 未加载