4 ms·
As was noted by jstrieb, there exists a compiler that does that, so basically any native program. There is no challenge in that. A real challenge would be, how
by pickledcods 6y ago
As was noted by jstrieb, there exists a compiler that does that, so basically any native program. There is no challenge in that.
A real challenge would be, how far can you cripple an instruction set such that it still can do something useful.
Crippling is done by reducing the 192 printable characters to 36 alphanumeric characters. That leaves 4 instructions with limited addressing modes.
This problem is hard because what you need, even for self modifying code is not available. What smile does is to make that available with the only two instructions left over that modify values: XOR and IMUL.
- garaetjjte 6y ago>There is no challenge in that. While smile is also impressive, I think you are unfairly downplaying tom7's work. While it uses bigger instruction set, it never executes any non-printable instruction at all.
- pickledcods 6y agoThank you for pointing out my grammatical failure. Tom's work is amazing, I read it and was really impressed. There are not many people who swim on this level of coding. What I meant was that I knew that executables consisting of printable ascii is possible, I just wasn't happy that the ascii art was cluttered with symbols. To make it more aesthetic and to create shading differences by utilizing the glyph sizes, I was looking into selecting the tallest (digits) and shortest (lowercase letters). However, the lowercase letters with ascenders and descenders make it fuzzy so they were removed too. With these restrictions the ante of the challenge were raised significantly. In my response I was referring to that. Downplaying Tom is unfair as his work is marvellous, and I know because I also build compilers. I wish I could correct the text to make this clear but it is now locked.