{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreih2xpqzazfj67xkure44p2vyatncyc4vmzj5xstp5wk5vu5yx4qii",
"uri": "at://did:plc:mxtd5epbtdu6fctoswivxycy/app.bsky.feed.post/3meld2o6ldk52"
},
"path": "/story/144377/80386-barrel-shifter/",
"publishedAt": "2026-02-10T23:33:25.000Z",
"site": "https://www.osnews.com",
"tags": [
"Intel"
],
"textContent": "I’m currently building an 80386-compatible core in SystemVerilog, driven by the original Intel microcode extracted from real 386 silicon. Real mode is now operational in simulation, with more than 10,000 single-instruction test cases passing successfully, and work on protected-mode features is in progress. In the course of this work, corners of the 386 microcode and silicon have been examined in detail; this series documents the resulting findings. In the previous post, we looked at multiplication and division — iterative algorithms that process one bit per cycle. Shifts and rotates are a different story: the 386 has a dedicated barrel shifter that completes an arbitrary multi-bit shift in a single cycle. What’s interesting is how the microcode makes one piece of hardware serve all shift and rotate variants — and how the complex rotate-through-carry instructions are handled. ↫ nand2mario I understood some of this.",
"title": "80386 barrel shifter"
}