The Intel 8086 was released in 1978, starting the x86 line that still dominates computing. I'm reverse-engineering the chip by studying the silicon die, and I think I've spotted a bug fix in the silicon. They didn't have microcode updates then so they patched the silicon. 🧵

Here's the fix. They pulled two signals horizontally out of the "Group Decode ROM". They went to a NOR gate and an inverter that they added in an empty space. This signal went to another NOR gate, the gate split in two to add another input. This strange layout caught my eye.

The bug was an obscure problem: if you updated the stack segment register and the stack pointer and got an interrupt in the middle, the interrupt frame got pushed to the wrong location (essentially written to a random spot in memory).

Follow

@kenshirriff Easy mistake to make. Interrupt handling is tricky.

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.