this post was submitted on 18 Oct 2026
232 points (99.2% liked)
Programmer Humor
33653 readers
1651 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
- If the mod doesn't find it funny, you're banned. Ha-ha!... For real: do not use the community for "statements". There are other places for such content. Keep it chill and funny.
founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I've always wondered about string handling - it's so common, and seemed to be an afterthought in every processor I ever learned about their instructions. Of course, I last touched assembly language 30 years ago, so... I would hope there's been some progress since then.
The 8088 CPU (the one from the original IBM PC) had special string scanning support with both instructions and registers. The SI (source index) and DI (destination index) were such registers, and a bunch of instructions related.
However, specialized instructions take die area on the CPU. In the 1980s a movement based on the observation that most sophisticated instructions were not used much, and it would be better to concentrate on making very common operations (like add, load, store, shift, or whatever) fast. That started reduced-instruction set computing (RISC).
RISC was so successful that x86 chips switched to the model with a RISC-like core and implementing more sophisticated fuctions in "microcode". Today Linux can load microcode, which is basically patching the firmware of the CPU itself.
Anyway, of course the drive towards RISC ended as people realized that some advanced functionality is really useful. In the 1990s and 2000s this was focused around new limitations: it was impossible to get higher frequencies so running a single core couldn't get faster. CPUs added SIMD (single instruction, multiple data) support as well as hyperthreading.
Now... revisiting string operations and adding CPU support would be possible. Engineers at CPU design shops look at how their chip space is used and optimize the die area for instruction sets and also registers, cache, and so on. But my guess is that it doesn't make sense or it would have happened a decade ago already.