Mov instruction is turing-complete
-
Since the x86 mov instruction is apparently turing-complete, the only reasonable thing to do is to write a C compiler which only compiles to mov instructions...
-
Since the x86 mov instruction is apparently turing-complete
The mov instruction on x86 has quite a few addressing modes.
Oh, they're allowing all 20...
-
The evil ideas thread is that way.
Filed under: <a="#tags">Hoping not to find out that this belongs in the "stupid ideas that have been done" thread
-
Hoping not to find out that this belongs in the "stupid ideas that have been done" thread
The link to a working [?] compiler is right there in the OP.
-
I wonder how performance is. It's pretty nifty.
-
What's better than using one instruction? Using NO instructions!
-
The link to a working [?] compiler is right there in the OP.
Didn't follow the link (still haven't), so I didn't know whether it was going to be "hey this sounds like a fun thing I could do" or "look at this abomination I have created".Though the latter description seems to apply better to the video @TwelveBaud posted.
-
Though the latter description seems to apply better to the video @TwelveBaud posted.
The right description there is “Ye gods! Is there no end to this evil?” It manages to out-evil the worst thing I'd previously heard of (writing a bare-metal OS directly in a scripting language, with no C or C++ runtime layer underneath).
-
This is so cool, and evil. I think I'm in love.
-
Ugh, I'm going to slit my wrists to save my sanity and I'm only 4 minutes in to this boring, boring lecture. This guy's got the sales personality of a lump of wet clay.
-
I wonder how fast an x86 processor could be if it was stripped down to only the bare minimum hardware needed by such a "mov" compiler, and then overclocked?
-
TLDR: By preloading the page tables appropriately, and relying on how the CPU handles errors during memory fetches and process switches, it’s possible to run arbitrary code without any actual “proper” instructions retiring from the CPU. You’ve got only one “improper” instruction to play with (SUB 4;JLZ;JMP), but it covers just enough to be Turing-complete.
And yes, the presenters are boring as shit. Want me to link the slide deck instead?
-
If it was faster we'd just do that. Doing everything with movs is very slow.
-
it’s possible to run arbitrary code without any actual “proper” instructions retiring from the CPU.
I figured it was something like that, but after almost ten minutes they weren't getting to the damn point.
Want me to link the slide deck instead?
Sure.
-
The bastards didn't upload it to the CCC Fahrplan, but they did upload their slides from a similar talk:
-
the presenters are boring as shit.
You must go to more interesting conferences than some I've had the misfortune to suffer through.
-
where's that Ballmer GIF...
-
Not a GIF, but close enough: