{"slug": "80386-barrel-shifter", "title": "80386 Barrel Shifter", "summary": "The article describes the author's project to build an 80386-compatible processor core in SystemVerilog using original Intel microcode, with real mode operational and over 10,000 test cases passing. It highlights that the 386 features a dedicated barrel shifter capable of completing multi-bit shifts in a single cycle, unlike iterative operations like multiplication. The post focuses on how the microcode enables this single hardware unit to handle all shift and rotate variants, including complex rotate-through-carry instructions.", "body_md": "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.\nIn 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.", "url": "https://wpnews.pro/news/80386-barrel-shifter", "canonical_source": "https://nand2mario.github.io/posts/2026/80386_barrel_shifter/", "published_at": "2026-02-07 00:00:00+00:00", "updated_at": "2026-05-23 15:52:54.927949+00:00", "lang": "en", "topics": ["semiconductor", "hardware", "research"], "entities": ["Intel", "80386", "SystemVerilog"], "alternates": {"html": "https://wpnews.pro/news/80386-barrel-shifter", "markdown": "https://wpnews.pro/news/80386-barrel-shifter.md", "text": "https://wpnews.pro/news/80386-barrel-shifter.txt", "jsonld": "https://wpnews.pro/news/80386-barrel-shifter.jsonld"}}