80386 Multiplication and Division
Posted by nand2mario 14 hours ago
Comments
Comment by bsaul 10 hours ago
Are we part of a collective mind ? Do social networks algorithms shape society that deeply that we all end up having about the same random thoughts ?
This is really scary in a way.
Comment by aidos 10 hours ago
Yesterday there was something similar that might have planted a seed in your mind like it did for other people.
Comment by nand2mario 9 hours ago
Comment by bsaul 3 hours ago
Comment by y42 8 hours ago
You own a red Mercedes now and suddenly you see only red Mercedes' on the streets.
Comment by Guestmodinfo 4 hours ago
Comment by hybrid_study 5 hours ago
Comment by jakzurr 5 hours ago
I think it's actually really simple. We tech nerds sometimes think a lot the same way.
Comment by hahahahhaah 10 hours ago
Comment by userbinator 10 hours ago
I wonder if anyone outside of Intel has discovered the actual bug in the circuitry yet.
Comment by st_goliath 7 hours ago
Besides the multiplication, the 386 had quite a number of teething problems[1], including occasionally broken addressing modes, unrecoverable exceptions, virtual address resolution bugs around the 2G mark, etc...
A while ago, there was also an article posted here that analyzed the inner workings of the Windows/386 loader[2]. Interestingly, Windows simply checks a pair of instruction (XBTS/IBTS) that early 386 steppings had, but was later removed, raising an invalid opcode exception instead.
Raymond Chen also wrote a blog post describing a few workarounds that Windows 95 had implemented[3].
[1] https://www.pcjs.org/documents/manuals/intel/80386/
[2] https://virtuallyfun.com/2025/09/06/unauthorized-windows-386...
[3] https://devblogs.microsoft.com/oldnewthing/20110112-00/?p=11...
Comment by kens 7 hours ago
Comment by FarmerPotato 6 hours ago
I read later in a TI DRAM report about which bit pairs to exercise, based on proximity in silicon layout, to verify the part. I suppose something like that to stress-test the ALU.
Comment by nand2mario 4 hours ago
Comment by rep_lodsb 9 hours ago
The three-operand form of IMUL also already existed on those processors.
>This wasn't just an incremental upgrade—it was the foundation that would carry the PC architecture for decades to come.
AI?
Comment by ack_complete 1 hour ago
Comment by csmantle 9 hours ago
Probably not; this point is well justified by both theory and practice. Supporting suitably larger operands is indeed what naturally comes following the increase of computation demands.
One point I do differ from the author is that register width don't necessarily correlate with the size of address space. Even 8bit machines can address a large space by splitting apart the logical address and using multiple registers. Likewise, having a wide register does not imply the same address width.
Comment by jecel 1 hour ago
This use of sloppy terms shouldn't make us forget that they are using an address extension trick, just like all those 16 bit processors that wanted to go beyond 64KB (for byte addressed such as the PDP-11, Z8000 or 8086) or 128KB (for word addressed, like the Xerox Alto's modified Data General Nova model).
Comment by direwolf20 7 hours ago
Comment by FarmerPotato 6 hours ago
Comment by Aardwolf 4 hours ago
That feels like a stretch :) Maybe it indeed ran on it, but Pentium was available when Windows 95 was released and it was probably far more likely to be sold along with such new Pentium multimedia machines, than someone getting it for their old 386. But Windows 3.11 was its exact match!
Comment by LeFantome 3 hours ago
First, Linux was created FOR the 386. Linus Torvalds had one and wanted to unlock its power.
As you say, Windows 3.0 is certainly no stretch.
That leaves only Windows 95. The minimum spec at launch was a 386 with 4 MB of RAM. Realistically, you needed 8 MB to do anything.
Here is an article from 1993 saying that manufactures are beginning to drop the 386 from their product lines. That is, this is when people stopped being able to buy 386 machines brand new.
https://books.google.com/books/about/InfoWorld.html?id=2zsEA...
The 486 was the dominant chip in 1993 but there were still a lot of 386 machines being sold to that point when.
When Windows 95 shipped, people would certainly have been trying to run it on those machines.
When Windows 95 was released, people famously lined up to buy it like they were getting tickets to a rock concert. It was not just sold with new hardware. Back then, it was normal for people to pay money to buy a new operating system to run on hardware they already owned.
Of course Windows 95 certainly helped sell Pentiums. Pentium would have dominated new sales but a typical PC in service in 1995 would have been a 486 and there were still plenty of 386 machines in use.
Comment by saltcured 2 hours ago
Personally, yeah, I had Windows 3.0/3.11 on a 386. I think I may have also put an early Windows NT (beta?) release on it, borrowing someone's MSDN discs. Not sure I had got value from it except seeing the "pipes" software OpenGL screensaver. Around '93-94, I started using Linux, and after that it was mostly upgrading hardware in my Linux Box(en) of Theseus.
I remember my college roommate blowing his budget upgrading to a 180 MHz Pentium Pro, and he put Windows 95 on it. I think that was the first time I heard the "Start me up!" sound from an actual computer instead of a TV ad.
After that, I only encountered later Windows versions if they were shipped on a laptop I got for work, before I wiped it to install Linux. Or eventually when I got an install image to put Windows in a VM. (First under VMware, later under Linux qemu+kvm.)
Comment by deaddodo 4 hours ago
There's no doubt that it went in to upgrade plenty of 386s/486s until the owners upgraded their hardware.
Comment by vardump 4 hours ago
I remember immediately upgrading to 12 MB. 8 MB was painful.
Not all 386 class systems could be upgraded to 12 MB or more.
Comment by EvanAnderson 4 hours ago
It ran like crap with 4MB of RAM but it did run. Opening anything much resulted in paging.
Comment by vardump 3 hours ago
8 MB was still swapping all the time, you couldn't really run much beyond some simple software.
12 MB was finally enough to do something productive, but definitely nothing luxurious.
Comment by TacticalCoder 30 minutes ago
I was definitely running Linux on a 486. I even had a big bulky laptop back then but I don't remember what CPU it had: I was running Linux on it too. And my 486 was sharing it's (dial-up, 28.8 or 33.6) Internet connection to the laptop using the PLIP protocol (IP over a parallel cable): I set that up and my brother and I were discovering the Web at the same time. Fun memories.
The jump was not 386 to Pentium. The 486 had its glory days.
Comment by nand2mario 3 hours ago
Comment by themafia 11 hours ago