Executable Emoji
Warning: This page contains hundreds of emoji. If you're using a screen reader, be sure it doesn't read them all out loud. A whole bunch of emoji. What could they mean? This particular post comes out of left field a bit. I was playing around with a web application I had made - an online disassembler for the x86 - when I noticed that emoji were being encoded into the url. I pasted a goat emoji, 🐐 and I noticed the encoding %F0%9F%90%90 . Now, if you're familiar with x86 assembly language at all, hexadecimal 90h is probably familiar to you. It's the opcode for a null operation or NOP . I had a brief nerd chuckle over the thought that goats were the NOP s of emoji, but then I got curious. F0h on the 8088 is the LOCK prefix. This prefix is generally used to coordinate exclusive bus access with a coprocessor such as the 8087, but otherwise does nothing for most instructions on the 8088 and is ignored (this would change on later Intel CPUs). That leaves...