Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- >Frankly, writing directly in emojissembly is a miserable, painful slog, lacking reasonable immediate values, arithmetic operations, or sane jump offsets. Therefore it is sensible to construct a loader that can simply build 8088 code in memory and jump to it.
If you think that self-modifying loader is too easy, I recommend Tom7 take on printable x86:
>This is like telling the waiter that you don’t eat poultry but eggs are okay, and then they bring you an egg, but that egg hatches into a chicken right after they bring it to you. Come on.
by garaetjjte - For this to be reproducible the browser version is going to need to be specified.by fuzzfactor
- I don't see why that would matter. Sure, it was noticed on a browser but ultimately this article is about overlap between x86 assembly and a subset of the unicode standard. The browser isn't really involved.by joha4270
- This is awesome, thanks! That was a very fun read.by KyleTheDev
- Thanks for checking this out.
I've uploaded all the binaries to GitHub if you're struggling with copy & paste. There's also a new example in Braille.
by GloriousCow - Anyone managed to reproduce it? I tried copying using Firefox on Wayland on Ubuntu GNULinux, then pasting on a Vim window. Nu luck, md5 didn't match.by dormento
- Try copying from the links provided after each emoji block. That goes to my disassembler which should independently verify the md5.
I think blogpspot unfortunately mucks with the emoji.
by GloriousCow - I cannot actually get the program working (which could easily be user error), but I could replicate the md5 by removing a newline vim inserted for me. If your file is 142 bytes, that's possibly what you're seeingby joha4270
- Waiting for someone to an emoji-x86 backend to LLVM/GCC.by account42
- Oh this is delightful!
x86 assembly isn't something I'm familiar with (and I should really get back to $dayjob), but I will mention the existence of emoji-test.txt [1] in case somebody wants to try and mine more executable sequences. It might be worth paying attention to the minimally-qualified, unqualified and component lines, which can be added and removed semi freely. No idea if they actually correspond to useful byte sequences.
[1]: https://www.unicode.org/Public/emoji/latest/emoji-test.txt
by joha4270